home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / dev / basic / SaveWave.lha / SaveWave.asc
Unknown  |  1999-07-31  |  14.0 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default
100% TrID Summation Document Image Information Load File default (weak)
100% gt2 Kopftext: ';converts say2raw output to a standard 8svx/iff or 8bit mono .wav sample' default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 63 6f 6e 76 65 72 74 | 73 20 73 61 79 32 72 61 |;convert|s say2ra|
|00000010| 77 20 6f 75 74 70 75 74 | 20 74 6f 20 61 20 73 74 |w output| to a st|
|00000020| 61 6e 64 61 72 64 20 38 | 73 76 78 2f 69 66 66 20 |andard 8|svx/iff |
|00000030| 6f 72 20 38 62 69 74 20 | 6d 6f 6e 6f 20 2e 77 61 |or 8bit |mono .wa|
|00000040| 76 20 73 61 6d 70 6c 65 | 00 3b 20 2d 2d 20 6d 75 |v sample|.; -- mu|
|00000050| 73 74 20 75 73 65 20 61 | 6d 69 67 61 6c 69 62 73 |st use a|migalibs|
|00000060| 2e 72 65 73 00 3b 20 2d | 2d 20 74 75 72 6e 20 4f |.res.; -|- turn O|
|00000070| 76 65 72 66 6c 6f 77 20 | 45 72 72 6f 72 73 20 4f |verflow |Errors O|
|00000080| 46 46 20 69 6e 20 63 6f | 6d 70 69 6c 65 72 20 6f |FF in co|mpiler o|
|00000090| 70 74 69 6f 6e 73 21 00 | 00 3b 20 2d 2d 20 75 73 |ptions!.|.; -- us|
|000000a0| 65 72 27 73 20 73 79 73 | 74 65 6d 20 6d 75 73 74 |er's sys|tem must|
|000000b0| 20 68 61 76 65 20 61 20 | 77 6f 72 6b 69 6e 67 20 | have a |working |
|000000c0| 73 70 65 65 63 68 20 73 | 65 74 75 70 00 3b 20 2d |speech s|etup.; -|
|000000d0| 2d 20 53 61 79 32 52 61 | 77 20 63 6f 6d 6d 61 6e |- Say2Ra|w comman|
|000000e0| 64 20 6d 75 73 74 20 62 | 65 20 69 6e 20 73 61 6d |d must b|e in sam|
|000000f0| 65 20 64 69 72 65 63 74 | 6f 72 79 20 61 73 20 74 |e direct|ory as t|
|00000100| 68 65 20 65 78 65 63 00 | 3b 20 2d 2d 20 74 68 65 |he exec.|; -- the|
|00000110| 20 73 74 61 6e 64 61 72 | 64 20 22 53 61 79 22 20 | standar|d "Say" |
|00000120| 63 6f 6d 6d 61 6e 64 20 | 6d 75 73 74 20 62 65 20 |command |must be |
|00000130| 69 6e 20 53 59 53 3a 55 | 74 69 6c 69 74 69 65 73 |in SYS:U|tilities|
|00000140| 2f 00 00 3b 4e 4f 54 45 | 3a 20 74 68 65 20 70 72 |/..;NOTE|: the pr|
|00000150| 6f 67 72 61 6d 20 77 6f | 6e 27 74 20 77 6f 72 6b |ogram wo|n't work|
|00000160| 20 69 66 20 72 75 6e 20 | 66 72 6f 6d 20 74 68 65 | if run |from the|
|00000170| 20 42 6c 69 74 7a 20 63 | 6f 6d 70 69 6c 65 72 00 | Blitz c|ompiler.|
|00000180| 3b 20 20 20 20 20 20 73 | 69 6e 63 65 20 69 74 20 |; s|ince it |
|00000190| 6d 75 73 74 20 66 69 6e | 64 20 69 74 27 73 20 6f |must fin|d it's o|
|000001a0| 77 6e 20 70 61 74 68 6e | 61 6d 65 00 00 3b 43 75 |wn pathn|ame..;Cu|
|000001b0| 72 74 20 45 73 73 65 72 | 00 3b 63 61 6d 67 65 40 |rt Esser|.;camge@|
|000001c0| 69 78 2e 6e 65 74 63 6f | 6d 2e 63 6f 6d 00 3b 6c |ix.netco|m.com.;l|
|000001d0| 61 73 74 20 6d 6f 64 69 | 66 69 65 64 20 4a 75 6c |ast modi|fied Jul|
|000001e0| 79 20 32 37 2c 20 31 39 | 39 39 00 00 76 24 3d 22 |y 27, 19|99..v$="|
|000001f0| 24 56 45 52 3a 20 53 70 | 65 61 6b 32 53 61 6d 70 |$VER: Sp|eak2Samp|
|00000200| 6c 65 20 76 31 2e 30 30 | 20 28 32 37 2e 30 37 2e |le v1.00| (27.07.|
|00000210| 39 39 29 20 62 79 20 43 | 75 72 74 20 45 73 73 65 |99) by C|urt Esse|
|00000220| 72 22 00 00 3b 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |r"..;---|--------|
|00000230| 2d 2d 2d 2d 20 20 46 75 | 6e 63 74 69 6f 6e 73 20 |---- Fu|nctions |
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 00 00 3b 20 2d 2d 20 63 | 68 65 63 6b 73 20 66 6f |..; -- c|hecks fo|
|00000270| 72 20 6e 61 6d 65 64 20 | 66 69 6c 65 20 6f 72 20 |r named |file or |
|00000280| 64 69 72 65 63 74 6f 72 | 79 00 3b 20 2d 2d 20 72 |director|y.; -- r|
|00000290| 65 74 75 72 6e 73 20 2d | 31 20 28 54 72 75 65 29 |eturns -|1 (True)|
|000002a0| 20 69 66 20 69 74 20 65 | 78 69 73 74 73 00 3b 20 | if it e|xists.; |
|000002b0| 2d 2d 20 6f 72 20 30 20 | 28 46 61 6c 73 65 29 20 |-- or 0 |(False) |
|000002c0| 69 66 20 69 74 20 69 73 | 20 6e 6f 74 20 66 6f 75 |if it is| not fou|
|000002d0| 6e 64 00 00 80 09 2e 62 | 20 49 73 54 68 65 72 65 |nd.....b| IsThere|
|000002e0| 7b 66 69 6c 65 6e 61 6d | 65 24 7d 00 20 20 2a 6c |{filenam|e$}. *l|
|000002f0| 6f 63 6b 3d fe 0a 28 26 | 66 69 6c 65 6e 61 6d 65 |ock=..(&|filename|
|00000300| 24 2c 23 41 43 43 45 53 | 53 5f 52 45 41 44 29 20 |$,#ACCES|S_READ) |
|00000310| 20 20 3b 61 74 74 65 6d | 70 74 20 74 6f 20 6c 6f | ;attem|pt to lo|
|00000320| 63 6b 20 69 74 00 20 20 | 80 0b 20 2a 6c 6f 63 6b |ck it. |.. *lock|
|00000330| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000340| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00000350| 79 65 73 2c 20 69 74 20 | 69 73 20 74 68 65 72 65 |yes, it |is there|
|00000360| 21 00 20 20 20 20 fe 0b | 28 2a 6c 6f 63 6b 29 20 |!. ..|(*lock) |
|00000370| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000380| 20 20 20 20 20 20 3b 72 | 65 6c 65 61 73 65 20 69 | ;r|elease i|
|00000390| 74 00 20 20 20 20 80 09 | 20 80 07 20 2d 31 00 20 |t. ..| .. -1. |
|000003a0| 20 80 22 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | ." | |
|000003b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000003c0| 20 20 20 20 20 20 3b 6e | 6f 74 20 66 6f 75 6e 64 | ;n|ot found|
|000003d0| 00 20 20 20 20 80 09 20 | 80 07 20 30 00 20 20 80 |. .. |.. 0. .|
|000003e0| c0 00 80 02 20 80 09 00 | 00 3b 2d 2d 2d 2d 2d 2d |.... ...|.;------|
|000003f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000420| 2d 2d 2d 2d 2d 00 3b 20 | 75 73 65 20 72 65 71 74 |-----.; |use reqt|
|00000430| 6f 6f 6c 73 20 72 65 71 | 75 65 73 74 65 72 73 00 |ools req|uesters.|
|00000440| 3b 20 75 73 69 6e 67 20 | 74 68 65 20 73 61 6d 65 |; using |the same|
|00000450| 20 73 74 72 69 6e 67 73 | 20 61 73 20 52 65 71 75 | strings| as Requ|
|00000460| 65 73 74 20 3a 29 00 3b | 20 74 65 78 74 20 69 73 |est :).;| text is|
|00000470| 20 63 65 6e 74 65 72 65 | 64 20 69 6e 20 72 65 71 | centere|d in req|
|00000480| 75 65 73 74 65 72 00 3b | 20 72 65 71 75 65 73 74 |uester.;| request|
|00000490| 65 72 20 63 65 6e 74 65 | 72 65 64 20 6f 6e 20 74 |er cente|red on t|
|000004a0| 68 65 20 73 63 72 65 65 | 6e 00 00 80 09 2e 62 20 |he scree|n.....b |
|000004b0| 52 54 72 65 71 7b 62 6f | 64 79 24 7d 00 20 20 72 |RTreq{bo|dy$}. r|
|000004c0| 71 24 3d dc 8a 28 62 6f | 64 79 24 2c 22 7c 22 2c |q$=..(bo|dy$,"|",|
|000004d0| dc 86 28 31 30 29 29 00 | 20 20 74 69 74 6c 65 24 |..(10)).| title$|
|000004e0| 3d 22 20 53 70 65 61 6b | 20 74 6f 20 53 61 6d 70 |=" Speak| to Samp|
|000004f0| 6c 65 3a 22 00 20 20 61 | 6e 73 77 65 72 2e 62 3d |le:". a|nswer.b=|
|00000500| 9b 01 28 74 69 74 6c 65 | 24 2c 72 71 24 2c 22 4f |..(title|$,rq$,"O|
|00000510| 4b 22 2c 32 2c 30 2c 34 | 29 00 20 20 80 09 20 80 |K",2,0,4|). .. .|
|00000520| 07 20 61 6e 73 77 65 72 | 00 80 02 20 80 09 00 00 |. answer|... ....|
|00000530| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|00000540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000570| 2d 2d 00 00 3b 20 41 75 | 74 68 6f 72 20 3a 20 4e |--..; Au|thor : N|
|00000580| 69 63 6b 20 43 6c 6f 76 | 65 72 20 2d 20 6e 69 63 |ick Clov|er - nic|
|00000590| 6b 40 62 61 75 6b 2e 66 | 72 65 65 73 65 72 76 65 |k@bauk.f|reeserve|
|000005a0| 2e 63 6f 2e 75 6b 00 3b | 20 52 65 74 75 72 6e 73 |.co.uk.;| Returns|
|000005b0| 20 61 20 73 74 72 69 6e | 67 20 77 69 74 68 20 74 | a strin|g with t|
|000005c0| 68 65 20 70 72 6f 67 72 | 61 6d 27 73 20 64 69 72 |he progr|am's dir|
|000005d0| 65 63 74 6f 72 79 2e 00 | 00 80 09 2e 73 20 50 72 |ectory..|....s Pr|
|000005e0| 6f 67 73 44 69 72 7b 7d | 00 00 20 20 80 32 20 70 |ogsDir{}|.. .2 p|
|000005f0| 61 74 68 24 3d 32 30 30 | 00 20 20 fe 3d 20 fe 5d |ath$=200|. .= .]|
|00000600| 28 29 2c 26 70 61 74 68 | 24 2c 32 30 30 00 20 20 |(),&path|$,200. |
|00000610| 70 61 74 68 24 3d da 02 | 24 28 26 70 61 74 68 24 |path$=..|$(&path$|
|00000620| 29 00 20 20 80 0b 20 dc | 82 28 70 61 74 68 24 2c |). .. .|.(path$,|
|00000630| 31 29 3c 3e 22 3a 22 20 | 80 42 20 dc 82 28 70 61 |1)<>":" |.B ..(pa|
|00000640| 74 68 24 2c 31 29 3c 3e | 22 2f 22 00 20 20 20 20 |th$,1)<>|"/". |
|00000650| 70 61 74 68 24 2b 22 2f | 22 00 20 20 80 c0 00 20 |path$+"/|". ... |
|00000660| 20 3b 49 66 20 70 61 74 | 68 24 3d 22 53 59 53 3a | ;If pat|h$="SYS:|
|00000670| 22 20 54 68 65 6e 20 70 | 61 74 68 24 3d 22 49 20 |" Then p|ath$="I |
|00000680| 6f 6e 6c 79 20 77 6f 72 | 6b 20 77 68 65 6e 20 63 |only wor|k when c|
|00000690| 6f 6d 70 69 6c 65 64 21 | 22 00 80 09 20 80 07 20 |ompiled!|"... .. |
|000006a0| 70 61 74 68 24 00 80 02 | 20 80 09 00 00 3b 2d 2d |path$...| ....;--|
|000006b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006e0| 2d 2d 2d 2d 2d 2d 2d 00 | 00 00 3b 20 53 61 76 65 |-------.|..; Save|
|000006f0| 20 61 20 73 61 6d 70 6c | 65 20 61 73 20 61 20 73 | a sampl|e as a s|
|00000700| 74 61 6e 64 61 72 64 20 | 69 66 66 2f 38 73 76 78 |tandard |iff/8svx|
|00000710| 20 66 69 6c 65 00 3b 20 | 43 75 72 74 20 45 73 73 | file.; |Curt Ess|
|00000720| 65 72 20 20 3c 63 61 6d | 67 65 40 69 78 2e 6e 65 |er <cam|ge@ix.ne|
|00000730| 74 63 6f 6d 2e 63 6f 6d | 3e 00 3b 20 43 61 6c 6c |tcom.com|>.; Call|
|00000740| 20 77 69 74 68 20 74 68 | 65 20 73 61 6d 70 6c 65 | with th|e sample|
|00000750| 20 23 20 74 6f 20 73 61 | 76 65 2c 20 61 6e 64 20 | # to sa|ve, and |
|00000760| 74 68 65 20 66 75 6c 6c | 20 73 61 76 65 20 70 61 |the full| save pa|
|00000770| 74 68 20 24 74 72 69 6e | 67 00 00 3b 20 72 65 74 |th $trin|g..; ret|
|00000780| 75 72 6e 73 20 2d 31 20 | 28 54 72 75 65 29 20 73 |urns -1 |(True) s|
|00000790| 75 63 65 73 73 00 3b 20 | 20 20 20 20 20 20 20 20 |ucess.; | |
|000007a0| 20 30 20 28 46 61 6c 73 | 65 29 20 73 61 6d 70 6c | 0 (Fals|e) sampl|
|000007b0| 65 20 64 6f 65 73 6e 27 | 74 20 65 78 69 73 74 00 |e doesn'|t exist.|
|000007c0| 3b 20 20 20 20 20 20 20 | 20 20 20 31 20 64 69 73 |; | 1 dis|
|000007d0| 6b 20 65 72 72 6f 72 20 | 2d 20 73 61 76 65 20 75 |k error |- save u|
|000007e0| 6e 73 75 63 63 65 73 66 | 75 6c 20 20 3a 28 00 00 |nsuccesf|ul :(..|
|000007f0| 80 09 2e 62 20 53 61 76 | 65 53 61 6d 70 6c 65 7b |...b Sav|eSample{|
|00000800| 73 61 6d 70 6c 65 6e 75 | 6d 62 65 72 2e 77 2c 73 |samplenu|mber.w,s|
|00000810| 61 76 65 49 46 46 24 7d | 00 00 80 0b 20 da 02 2e |aveIFF$}|.... ...|
|00000820| 6c 28 80 b8 20 ba 04 28 | 73 61 6d 70 6c 65 6e 75 |l(.. ..(|samplenu|
|00000830| 6d 62 65 72 29 29 20 20 | 20 20 20 20 20 20 20 20 |mber)) | |
|00000840| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000850| 3b 6d 61 6b 65 20 73 75 | 72 65 20 73 61 6d 70 6c |;make su|re sampl|
|00000860| 65 20 65 78 69 73 74 73 | 00 00 20 20 73 6e 64 73 |e exists|.. snds|
|00000870| 74 61 72 74 2e 6c 3d da | 02 2e 6c 28 80 b8 20 ba |tart.l=.|..l(.. .|
|00000880| 04 28 73 61 6d 70 6c 65 | 6e 75 6d 62 65 72 29 29 |.(sample|number))|
|00000890| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000008a0| 3b 73 74 61 72 74 20 6f | 66 20 73 61 6d 70 6c 65 |;start o|f sample|
|000008b0| 20 64 61 74 61 00 20 20 | 73 6c 65 6e 2e 6c 3d 28 | data. |slen.l=(|
|000008c0| da 02 2e 77 28 80 b8 20 | ba 04 20 28 73 61 6d 70 |...w(.. |.. (samp|
|000008d0| 6c 65 6e 75 6d 62 65 72 | 29 2b 36 29 20 80 42 20 |lenumber|)+6) .B |
|000008e0| 24 46 46 46 46 29 2a 32 | 20 20 20 3b 62 79 74 65 |$FFFF)*2| ;byte|
|000008f0| 73 20 6f 66 20 73 61 6d | 70 6c 65 20 64 61 74 61 |s of sam|ple data|
|00000900| 00 20 20 74 6c 65 6e 2e | 6c 3d 73 6c 65 6e 2b 34 |. tlen.|l=slen+4|
|00000910| 30 00 20 20 6c 6f 6f 70 | 2e 6c 3d da 02 2e 6c 28 |0. loop|.l=...l(|
|00000920| 80 b8 20 ba 04 20 28 73 | 61 6d 70 6c 65 6e 75 6d |.. .. (s|amplenum|
|00000930| 62 65 72 29 2b 38 29 20 | 20 20 20 20 20 20 20 20 |ber)+8) | |
|00000940| 20 20 20 20 20 20 20 20 | 3b 73 74 61 72 74 20 6f | |;start o|
|00000950| 66 20 6c 6f 6f 70 69 6e | 67 20 70 61 72 74 00 20 |f loopin|g part. |
|00000960| 20 6c 70 6c 6e 2e 6c 3d | 28 da 02 2e 77 28 80 b8 | lpln.l=|(...w(..|
|00000970| 20 ba 04 20 28 73 61 6d | 70 6c 65 6e 75 6d 62 65 | .. (sam|plenumbe|
|00000980| 72 29 2b 31 32 29 20 80 | 42 20 24 46 46 46 46 29 |r)+12) .|B $FFFF)|
|00000990| 2a 32 20 20 3b 6c 65 6e | 67 74 68 20 6f 66 20 6c |*2 ;len|gth of l|
|000009a0| 6f 6f 70 00 20 20 6f 6e | 65 73 2e 6c 3d 6c 6f 6f |oop. on|es.l=loo|
|000009b0| 70 2d 73 6e 64 73 74 61 | 72 74 20 20 20 20 20 20 |p-sndsta|rt |
|000009c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009e0| 20 3b 6c 65 6e 67 74 68 | 20 6f 66 20 31 20 73 68 | ;length| of 1 sh|
|000009f0| 6f 74 20 70 61 72 74 00 | 20 20 63 79 63 6c 2e 6c |ot part.| cycl.l|
|00000a00| 3d 33 32 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |=32 | |
|00000a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a30| 20 20 20 20 20 3b 73 65 | 65 6d 73 20 74 6f 20 62 | ;se|ems to b|
|00000a40| 65 20 73 74 61 6e 64 61 | 72 64 3f 00 20 20 70 65 |e standa|rd?. pe|
|00000a50| 72 2e 6c 3d 28 da 02 2e | 77 28 80 b8 20 ba 04 28 |r.l=(...|w(.. ..(|
|00000a60| 73 61 6d 70 6c 65 6e 75 | 6d 62 65 72 29 2b 34 29 |samplenu|mber)+4)|
|00000a70| 20 80 42 20 24 46 46 46 | 46 29 20 20 20 20 20 20 | .B $FFF|F) |
|00000a80| 20 3b 74 68 65 20 73 61 | 6d 70 6c 65 20 70 65 72 | ;the sa|mple per|
|00000a90| 69 6f 64 00 20 20 70 65 | 72 73 65 63 2e 77 3d 20 |iod. pe|rsec.w= |
|00000aa0| 33 35 37 39 34 34 30 2f | 70 65 72 20 20 20 20 20 |3579440/|per |
|00000ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ac0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ad0| 20 3b 74 68 65 20 61 63 | 74 75 61 6c 20 66 72 65 | ;the ac|tual fre|
|00000ae0| 71 75 65 6e 63 79 00 00 | 20 20 80 0b 20 be 12 20 |quency..| .. .. |
|00000af0| 28 30 2c 73 61 76 65 49 | 46 46 24 29 00 20 20 20 |(0,saveI|FF$). |
|00000b00| 20 65 72 72 6f 72 3d 2d | 31 00 20 20 20 20 be 07 | error=-|1. ..|
|00000b10| 20 30 00 20 20 20 20 dd | 81 20 22 46 4f 52 4d 22 | 0. .|. "FORM"|
|00000b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 73 74 | | ;st|
|00000b30| 61 72 74 20 6f 66 20 49 | 46 46 20 68 65 61 64 65 |art of I|FF heade|
|00000b40| 72 00 20 20 20 20 be 13 | 20 30 2c 26 74 6c 65 6e |r. ..| 0,&tlen|
|00000b50| 2c 34 20 20 20 20 20 20 | 20 3b 74 6f 74 61 6c 20 |,4 | ;total |
|00000b60| 62 79 74 65 73 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |bytes fo|llowing |
|00000b70| 74 68 65 20 68 65 61 64 | 65 72 00 20 20 20 20 dd |the head|er. .|
|00000b80| 81 20 22 38 53 56 58 56 | 48 44 52 22 20 20 20 20 |. "8SVXV|HDR" |
|00000b90| 20 20 20 20 20 3b 38 73 | 76 78 20 73 61 6d 70 6c | ;8s|vx sampl|
|00000ba0| 65 20 49 44 2c 20 61 6e | 64 20 73 74 61 72 74 20 |e ID, an|d start |
|00000bb0| 6f 66 20 56 6f 69 63 65 | 20 48 65 61 64 65 72 00 |of Voice| Header.|
|00000bc0| 20 20 20 20 74 65 6d 70 | 2e 6c 3d 32 30 00 20 20 | temp|.l=20. |
|00000bd0| 20 20 be 13 20 30 2c 26 | 74 65 6d 70 2c 34 20 20 | .. 0,&|temp,4 |
|00000be0| 20 20 20 20 20 3b 62 79 | 74 65 73 20 69 6e 20 56 | ;by|tes in V|
|00000bf0| 6f 69 63 65 20 48 65 61 | 64 65 72 20 63 68 75 6e |oice Hea|der chun|
|00000c00| 6b 00 20 20 20 20 be 13 | 20 30 2c 26 6f 6e 65 73 |k. ..| 0,&ones|
|00000c10| 2c 34 20 20 20 20 20 20 | 20 3b 64 61 74 61 20 62 |,4 | ;data b|
|00000c20| 79 74 65 73 20 69 6e 20 | 31 20 73 68 6f 74 20 70 |ytes in |1 shot p|
|00000c30| 61 72 74 00 20 20 20 20 | 74 65 6d 70 2e 6c 3d 30 |art. |temp.l=0|
|00000c40| 00 20 20 20 20 be 13 20 | 30 2c 26 6c 70 6c 6e 2c |. .. |0,&lpln,|
|00000c50| 34 20 20 20 20 20 20 20 | 3b 66 6f 72 20 6c 6f 6f |4 |;for loo|
|00000c60| 70 69 6e 67 20 28 6c 65 | 6e 67 74 68 20 6f 66 20 |ping (le|ngth of |
|00000c70| 6c 6f 6f 70 29 00 20 20 | 20 20 be 13 20 30 2c 26 |loop). | .. 0,&|
|00000c80| 63 79 63 6c 2c 34 20 20 | 20 20 20 20 20 3b 22 20 |cycl,4 | ;" |
|00000c90| 20 20 20 20 22 20 20 20 | 20 20 22 00 20 20 20 20 | " | ". |
|00000ca0| be 13 20 30 2c 26 70 65 | 72 73 65 63 2c 32 20 20 |.. 0,&pe|rsec,2 |
|00000cb0| 20 20 20 3b 66 72 65 71 | 75 65 6e 63 79 20 6f 66 | ;freq|uency of|
|00000cc0| 20 74 68 65 20 73 61 6d | 70 6c 65 00 20 20 20 20 | the sam|ple. |
|00000cd0| 74 65 6d 70 62 2e 62 3d | 31 00 20 20 20 20 be 13 |tempb.b=|1. ..|
|00000ce0| 20 30 2c 26 74 65 6d 70 | 62 2c 31 20 20 20 20 20 | 0,&temp|b,1 |
|00000cf0| 20 3b 6f 63 74 61 76 65 | 73 00 20 20 20 20 be 13 | ;octave|s. ..|
|00000d00| 20 30 2c 26 74 65 6d 70 | 2c 31 20 20 20 20 20 20 | 0,&temp|,1 |
|00000d10| 20 3b 63 6f 6d 70 72 65 | 73 73 69 6f 6e 20 28 77 | ;compre|ssion (w|
|00000d20| 65 20 75 73 65 20 30 20 | 3d 20 6e 6f 74 20 63 6f |e use 0 |= not co|
|00000d30| 6d 70 72 65 73 73 65 64 | 29 00 20 20 20 20 74 65 |mpressed|). te|
|00000d40| 6d 70 2e 6c 3d 36 35 35 | 33 36 20 20 20 20 20 20 |mp.l=655|36 |
|00000d50| 20 20 20 20 20 20 20 3b | 76 6f 6c 75 6d 65 20 28 | ;|volume (|
|00000d60| 66 75 6c 6c 20 76 6f 6c | 75 6d 65 29 00 20 20 20 |full vol|ume). |
|00000d70| 20 be 13 20 30 2c 26 74 | 65 6d 70 2c 34 00 20 20 | .. 0,&t|emp,4. |
|00000d80| 20 20 dd 81 20 22 42 4f | 44 59 22 20 20 20 20 20 | .. "BO|DY" |
|00000d90| 20 20 20 20 20 20 20 20 | 3b 73 74 61 72 74 20 6f | |;start o|
|00000da0| 66 20 42 6f 64 79 20 63 | 68 75 6e 6b 00 20 20 20 |f Body c|hunk. |
|00000db0| 20 be 13 20 30 2c 26 73 | 6c 65 6e 2c 34 20 20 20 | .. 0,&s|len,4 |
|00000dc0| 20 20 20 20 3b 62 79 74 | 65 73 20 6f 66 20 61 63 | ;byt|es of ac|
|00000dd0| 74 75 61 6c 20 73 61 6d | 70 6c 65 20 64 61 74 61 |tual sam|ple data|
|00000de0| 00 20 20 20 20 be 13 20 | 30 2c 73 6e 64 73 74 61 |. .. |0,sndsta|
|00000df0| 72 74 2c 73 6c 65 6e 20 | 3b 4f 4b 2c 20 66 69 6e |rt,slen |;OK, fin|
|00000e00| 61 6c 6c 79 21 20 20 57 | 72 69 74 65 20 74 68 65 |ally! W|rite the|
|00000e10| 20 64 61 74 61 00 20 20 | 20 20 be 02 20 30 00 20 | data. | .. 0. |
|00000e20| 20 20 20 d2 0b 00 20 20 | 80 22 20 20 20 20 20 20 | ... |." |
|00000e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e40| 20 3b 44 4f 53 20 65 72 | 72 6f 72 20 2d 20 63 6f | ;DOS er|ror - co|
|00000e50| 75 6c 64 20 6e 6f 74 20 | 73 61 76 65 20 74 68 65 |uld not |save the|
|00000e60| 20 66 69 6c 65 21 00 20 | 20 20 20 65 72 72 6f 72 | file!. | error|
|00000e70| 3d 31 00 20 20 80 c0 00 | 00 80 22 00 20 20 65 72 |=1. ...|..". er|
|00000e80| 72 6f 72 3d 30 20 20 20 | 20 20 20 20 20 20 20 20 |ror=0 | |
|00000e90| 20 20 20 20 20 20 20 20 | 20 3b 73 6f 72 72 79 2c | | ;sorry,|
|00000ea0| 20 74 68 61 74 20 73 61 | 6d 70 6c 65 20 64 6f 65 | that sa|mple doe|
|00000eb0| 73 6e 27 74 20 65 78 69 | 73 74 21 00 80 c0 00 00 |sn't exi|st!.....|
|00000ec0| 80 09 20 80 07 20 65 72 | 72 6f 72 00 00 80 02 20 |.. .. er|ror.... |
|00000ed0| 80 09 00 00 3b 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |....;---|--------|
|00000ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 00 3b |--------|------.;|
|00000f20| 20 44 61 76 69 64 20 4d | 63 4d 69 6e 6e 27 73 20 | David M|cMinn's |
|00000f30| 45 6e 64 69 61 6e 20 73 | 77 69 74 63 68 65 72 20 |Endian s|witcher |
|00000f40| 3a 00 3b 20 73 77 69 74 | 63 68 20 61 20 6c 6f 6e |:.; swit|ch a lon|
|00000f50| 67 20 66 72 6f 6d 20 41 | 6d 69 67 61 20 73 74 79 |g from A|miga sty|
|00000f60| 6c 65 20 74 6f 20 50 43 | 20 73 74 79 6c 65 20 66 |le to PC| style f|
|00000f70| 6f 72 6d 61 74 00 00 80 | 08 20 53 77 69 74 63 68 |ormat...|. Switch|
|00000f80| 45 6e 64 69 61 6e 20 7b | 2a 6d 65 6d 2e 6c 7d 00 |Endian {|*mem.l}.|
|00000f90| 20 20 80 7e 2e 6c 20 64 | 30 2c 61 30 00 20 20 80 | .~.l d|0,a0. .|
|00000fa0| 7e 2e 6c 20 28 61 30 29 | 2c 64 30 00 20 20 80 8e |~.l (a0)|,d0. ..|
|00000fb0| 2e 77 20 23 38 2c 64 30 | 00 20 20 80 ac 20 64 30 |.w #8,d0|. .. d0|
|00000fc0| 00 20 20 80 8e 2e 77 20 | 23 38 2c 64 30 00 20 20 |. ...w |#8,d0. |
|00000fd0| 80 7e 2e 6c 20 64 30 2c | 28 61 30 29 00 80 02 20 |.~.l d0,|(a0)... |
|00000fe0| 80 08 00 00 3b 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |....;---|--------|
|00000ff0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 00 00 |--------|------..|
|00001030| 3b 20 53 61 76 65 20 61 | 20 6c 6f 61 64 65 64 20 |; Save a| loaded |
|00001040| 73 61 6d 70 6c 65 20 61 | 73 20 61 6e 20 38 62 69 |sample a|s an 8bi|
|00001050| 74 20 6d 6f 6e 6f 20 2e | 77 61 76 20 66 69 6c 65 |t mono .|wav file|
|00001060| 00 00 3b 20 72 65 71 75 | 69 72 65 73 20 44 61 76 |..; requ|ires Dav|
|00001070| 69 64 20 4d 63 4d 69 6e | 6e 27 73 20 53 77 69 74 |id McMin|n's Swit|
|00001080| 63 68 45 6e 64 69 61 6e | 20 53 74 61 74 65 6d 65 |chEndian| Stateme|
|00001090| 6e 74 00 3b 20 74 6f 20 | 62 65 20 73 6f 6d 65 77 |nt.; to |be somew|
|000010a0| 68 65 72 65 20 61 62 6f | 76 65 20 69 74 20 69 6e |here abo|ve it in|
|000010b0| 20 74 68 65 20 63 6f 64 | 65 00 00 3b 20 49 74 27 | the cod|e..; It'|
|000010c0| 73 20 6e 6f 74 20 70 72 | 65 74 74 79 2c 20 62 75 |s not pr|etty, bu|
|000010d0| 74 20 69 74 20 64 6f 65 | 73 20 74 68 65 20 6a 6f |t it doe|s the jo|
|000010e0| 62 00 3b 20 6d 61 79 62 | 65 20 79 6f 75 20 63 61 |b.; mayb|e you ca|
|000010f0| 6e 20 6d 61 6b 65 20 69 | 74 20 62 65 74 74 65 72 |n make i|t better|
|00001100| 3f 20 20 49 66 20 73 6f | 2c 20 70 6c 65 61 73 65 |? If so|, please|
|00001110| 20 73 65 6e 64 20 6d 65 | 20 61 20 63 6f 70 79 00 | send me| a copy.|
|00001120| 3b 20 43 75 72 74 20 45 | 73 73 65 72 20 20 3c 63 |; Curt E|sser <c|
|00001130| 61 6d 67 65 40 69 78 2e | 6e 65 74 63 6f 6d 2e 63 |amge@ix.|netcom.c|
|00001140| 6f 6d 3e 00 00 3b 20 43 | 61 6c 6c 20 77 69 74 68 |om>..; C|all with|
|00001150| 20 74 68 65 20 73 61 6d | 70 6c 65 20 23 20 74 6f | the sam|ple # to|
|00001160| 20 73 61 76 65 2c 20 61 | 6e 64 20 74 68 65 20 66 | save, a|nd the f|
|00001170| 75 6c 6c 20 73 61 76 65 | 20 70 61 74 68 20 24 74 |ull save| path $t|
|00001180| 72 69 6e 67 00 00 3b 20 | 72 65 74 75 72 6e 73 20 |ring..; |returns |
|00001190| 2d 31 20 28 54 72 75 65 | 29 20 73 75 63 65 73 73 |-1 (True|) sucess|
|000011a0| 00 3b 20 20 20 20 20 20 | 20 20 20 20 30 20 28 46 |.; | 0 (F|
|000011b0| 61 6c 73 65 29 20 73 61 | 6d 70 6c 65 20 64 6f 65 |alse) sa|mple doe|
|000011c0| 73 6e 27 74 20 65 78 69 | 73 74 00 3b 20 20 20 20 |sn't exi|st.; |
|000011d0| 20 20 20 20 20 20 31 20 | 64 69 73 6b 20 65 72 72 | 1 |disk err|
|000011e0| 6f 72 20 2d 20 73 61 76 | 65 20 75 6e 73 75 63 63 |or - sav|e unsucc|
|000011f0| 65 73 66 75 6c 20 20 3a | 28 00 00 80 09 2e 62 20 |esful :|(.....b |
|00001200| 53 61 76 65 57 61 76 65 | 7b 73 61 6d 70 6c 65 6e |SaveWave|{samplen|
|00001210| 75 6d 62 65 72 2e 77 2c | 73 61 76 65 57 41 56 24 |umber.w,|saveWAV$|
|00001220| 7d 00 00 80 0b 20 da 02 | 2e 6c 28 80 b8 20 ba 04 |}.... ..|.l(.. ..|
|00001230| 28 73 61 6d 70 6c 65 6e | 75 6d 62 65 72 29 29 20 |(samplen|umber)) |
|00001240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001250| 20 20 20 20 20 20 20 20 | 20 3b 6d 61 6b 65 20 73 | | ;make s|
|00001260| 75 72 65 20 73 61 6d 70 | 6c 65 20 65 78 69 73 74 |ure samp|le exist|
|00001270| 73 00 00 20 20 2a 73 6e | 64 73 74 61 72 74 3d da |s.. *sn|dstart=.|
|00001280| 02 2e 6c 28 80 b8 20 ba | 04 28 73 61 6d 70 6c 65 |..l(.. .|.(sample|
|00001290| 6e 75 6d 62 65 72 29 29 | 20 20 20 20 20 20 20 20 |number))| |
|000012a0| 20 20 20 20 20 20 20 20 | 20 3b 73 74 61 72 74 20 | | ;start |
|000012b0| 6f 66 20 73 61 6d 70 6c | 65 20 64 61 74 61 00 20 |of sampl|e data. |
|000012c0| 20 73 6c 65 6e 2e 6c 3d | 28 da 02 2e 77 28 80 b8 | slen.l=|(...w(..|
|000012d0| 20 ba 04 20 28 73 61 6d | 70 6c 65 6e 75 6d 62 65 | .. (sam|plenumbe|
|000012e0| 72 29 2b 36 29 20 80 42 | 20 24 46 46 46 46 29 2a |r)+6) .B| $FFFF)*|
|000012f0| 32 20 20 20 3b 62 79 74 | 65 73 20 6f 66 20 73 61 |2 ;byt|es of sa|
|00001300| 6d 70 6c 65 20 64 61 74 | 61 00 20 20 64 61 74 6c |mple dat|a. datl|
|00001310| 65 6e 2e 6c 3d 73 6c 65 | 6e 00 20 20 53 77 69 74 |en.l=sle|n. Swit|
|00001320| 63 68 45 6e 64 69 61 6e | 7b 26 64 61 74 6c 65 6e |chEndian|{&datlen|
|00001330| 7d 20 20 3b 63 6f 6e 76 | 65 72 74 20 74 6f 20 50 |} ;conv|ert to P|
|00001340| 43 20 66 6f 72 6d 61 74 | 00 20 20 74 6c 65 6e 2e |C format|. tlen.|
|00001350| 6c 3d 73 6c 65 6e 2b 33 | 36 00 20 20 53 77 69 74 |l=slen+3|6. Swit|
|00001360| 63 68 45 6e 64 69 61 6e | 7b 26 74 6c 65 6e 7d 20 |chEndian|{&tlen} |
|00001370| 20 20 20 3b 63 6f 6e 76 | 65 72 74 20 74 6f 20 50 | ;conv|ert to P|
|00001380| 43 20 66 6f 72 6d 61 74 | 00 00 20 20 3b 2d 2d 20 |C format|.. ;-- |
|00001390| 74 68 69 73 20 6e 65 78 | 74 20 69 73 20 6a 75 73 |this nex|t is jus|
|000013a0| 74 20 69 6e 20 63 61 73 | 65 20 61 6e 79 6f 6e 65 |t in cas|e anyone|
|000013b0| 20 77 61 6e 74 73 20 74 | 6f 20 69 6e 63 6c 75 64 | wants t|o includ|
|000013c0| 65 20 6c 6f 6f 70 69 6e | 67 20 69 6e 66 6f 00 20 |e loopin|g info. |
|000013d0| 20 3b 2d 2d 20 69 6e 74 | 6f 20 74 68 65 20 2e 77 | ;-- int|o the .w|
|000013e0| 61 76 20 66 69 6c 65 00 | 20 20 3b 2d 2d 20 79 6f |av file.| ;-- yo|
|000013f0| 75 27 6c 6c 20 6e 65 65 | 64 20 74 6f 20 67 65 74 |u'll nee|d to get|
|00001400| 20 73 6f 6d 65 20 2e 77 | 61 76 20 64 6f 63 73 20 | some .w|av docs |
|00001410| 61 6e 64 20 77 6f 72 6b | 20 6f 75 74 20 68 6f 77 |and work| out how|
|00001420| 20 74 6f 20 61 64 64 00 | 20 20 3b 2d 2d 20 74 68 | to add.| ;-- th|
|00001430| 65 20 6e 65 63 65 73 73 | 61 72 79 20 63 68 75 6e |e necess|ary chun|
|00001440| 6b 73 20 74 6f 20 74 68 | 65 20 2e 77 61 76 20 66 |ks to th|e .wav f|
|00001450| 69 6c 65 20 79 6f 75 72 | 73 65 6c 66 00 20 20 3b |ile your|self. ;|
|00001460| 2d 2d 20 49 20 64 69 64 | 6e 27 74 20 6e 65 65 64 |-- I did|n't need|
|00001470| 20 69 74 2c 20 61 6e 64 | 20 69 74 20 6c 6f 6f 6b | it, and| it look|
|00001480| 73 20 6c 69 6b 65 20 61 | 20 72 65 61 6c 20 70 61 |s like a| real pa|
|00001490| 69 6e 20 3a 29 00 00 20 | 20 3b 6c 6f 6f 70 2e 6c |in :).. | ;loop.l|
|000014a0| 3d 50 65 65 6b 2e 6c 28 | 41 64 64 72 20 53 6f 75 |=Peek.l(|Addr Sou|
|000014b0| 6e 64 20 28 73 61 6d 70 | 6c 65 6e 75 6d 62 65 72 |nd (samp|lenumber|
|000014c0| 29 2b 38 29 20 20 20 20 | 20 20 20 20 20 20 20 20 |)+8) | |
|000014d0| 20 20 20 20 20 3b 73 74 | 61 72 74 20 6f 66 20 6c | ;st|art of l|
|000014e0| 6f 6f 70 69 6e 67 20 70 | 61 72 74 00 20 20 3b 6c |ooping p|art. ;l|
|000014f0| 70 6c 6e 2e 6c 3d 28 50 | 65 65 6b 2e 77 28 41 64 |pln.l=(P|eek.w(Ad|
|00001500| 64 72 20 53 6f 75 6e 64 | 20 28 73 61 6d 70 6c 65 |dr Sound| (sample|
|00001510| 6e 75 6d 62 65 72 29 2b | 31 32 29 20 41 4e 44 20 |number)+|12) AND |
|00001520| 24 46 46 46 46 29 2a 32 | 20 20 3b 6c 65 6e 67 74 |$FFFF)*2| ;lengt|
|00001530| 68 20 6f 66 20 6c 6f 6f | 70 00 20 20 3b 6f 6e 65 |h of loo|p. ;one|
|00001540| 73 2e 6c 3d 6c 6f 6f 70 | 2d 73 6e 64 73 74 61 72 |s.l=loop|-sndstar|
|00001550| 74 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t | |
|00001560| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001570| 20 20 20 20 20 20 20 20 | 3b 6c 65 6e 67 74 68 20 | |;length |
|00001580| 6f 66 20 31 20 73 68 6f | 74 20 70 61 72 74 00 20 |of 1 sho|t part. |
|00001590| 20 3b 63 79 63 6c 2e 6c | 3d 33 32 20 20 20 20 20 | ;cycl.l|=32 |
|000015a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 73 65 | | ;se|
|000015d0| 65 6d 73 20 74 6f 20 62 | 65 20 73 74 61 6e 64 61 |ems to b|e standa|
|000015e0| 72 64 3f 00 00 20 20 70 | 65 72 2e 6c 3d 28 da 02 |rd?.. p|er.l=(..|
|000015f0| 2e 77 28 80 b8 20 ba 04 | 28 73 61 6d 70 6c 65 6e |.w(.. ..|(samplen|
|00001600| 75 6d 62 65 72 29 2b 34 | 29 20 80 42 20 24 46 46 |umber)+4|) .B $FF|
|00001610| 46 46 29 20 20 20 20 20 | 20 20 3b 74 68 65 20 73 |FF) | ;the s|
|00001620| 61 6d 70 6c 65 20 70 65 | 72 69 6f 64 00 20 20 70 |ample pe|riod. p|
|00001630| 65 72 73 65 63 2e 6c 3d | 20 33 35 37 39 34 34 30 |ersec.l=| 3579440|
|00001640| 2f 70 65 72 20 20 20 20 | 20 20 20 20 20 20 20 20 |/per | |
|00001650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001660| 20 20 20 20 20 20 20 20 | 20 20 3b 74 68 65 20 61 | | ;the a|
|00001670| 63 74 75 61 6c 20 66 72 | 65 71 75 65 6e 63 79 00 |ctual fr|equency.|
|00001680| 20 20 73 70 65 72 73 65 | 63 2e 6c 3d 70 65 72 73 | sperse|c.l=pers|
|00001690| 65 63 00 20 20 53 77 69 | 74 63 68 45 6e 64 69 61 |ec. Swi|tchEndia|
|000016a0| 6e 7b 26 73 70 65 72 73 | 65 63 7d 20 20 20 20 20 |n{&spers|ec} |
|000016b0| 3b 53 61 6d 70 6c 65 73 | 20 70 65 72 20 73 65 63 |;Samples| per sec|
|000016c0| 6f 6e 64 20 63 6f 6e 76 | 65 72 74 65 64 20 74 6f |ond conv|erted to|
|000016d0| 20 50 43 20 73 74 79 6c | 65 20 6c 6f 6e 67 00 00 | PC styl|e long..|
|000016e0| 20 20 80 0b 20 be 12 20 | 28 30 2c 73 61 76 65 57 | .. .. |(0,saveW|
|000016f0| 41 56 24 29 00 20 20 20 | 20 65 72 72 6f 72 3d 2d |AV$). | error=-|
|00001700| 31 00 20 20 20 20 be 07 | 20 30 00 20 20 20 20 dd |1. ..| 0. .|
|00001710| 81 20 22 52 49 46 46 22 | 20 20 20 20 20 20 20 20 |. "RIFF"| |
|00001720| 20 20 20 20 20 3b 73 74 | 61 72 74 20 6f 66 20 2e | ;st|art of .|
|00001730| 77 61 76 20 68 65 61 64 | 65 72 00 20 20 20 20 be |wav head|er. .|
|00001740| 13 20 30 2c 26 74 6c 65 | 6e 2c 34 20 20 20 20 20 |. 0,&tle|n,4 |
|00001750| 20 20 3b 74 6f 74 61 6c | 20 62 79 74 65 73 20 66 | ;total| bytes f|
|00001760| 6f 6c 6c 6f 77 69 6e 67 | 20 74 68 65 20 68 65 61 |ollowing| the hea|
|00001770| 64 65 72 00 20 20 20 20 | dd 81 20 22 57 41 56 45 |der. |.. "WAVE|
|00001780| 66 6d 74 20 22 20 20 20 | 20 20 20 20 20 20 3b 73 |fmt " | ;s|
|00001790| 74 61 72 74 20 6f 66 20 | 46 6f 72 6d 61 74 20 63 |tart of |Format c|
|000017a0| 68 75 6e 6b 00 00 20 20 | 20 20 62 31 2e 62 3d 24 |hunk.. | b1.b=$|
|000017b0| 31 30 00 20 20 20 20 62 | 32 2e 62 3d 30 00 20 20 |10. b|2.b=0. |
|000017c0| 20 20 62 33 2e 62 3d 24 | 30 31 00 20 20 20 20 62 | b3.b=$|01. b|
|000017d0| 36 2e 62 3d 24 38 00 00 | 20 20 20 20 be 13 20 30 |6.b=$8..| .. 0|
|000017e0| 2c 26 62 31 2c 31 20 20 | 20 20 20 20 20 20 20 3b |,&b1,1 | ;|
|000017f0| 74 68 69 73 20 73 74 75 | 66 66 20 6a 75 73 74 20 |this stu|ff just |
|00001800| 69 6e 64 69 63 61 74 65 | 73 00 20 20 20 20 be 13 |indicate|s. ..|
|00001810| 20 30 2c 26 62 32 2c 31 | 20 20 20 20 20 20 20 20 | 0,&b2,1| |
|00001820| 20 3b 74 68 69 73 20 69 | 73 20 61 20 73 74 61 6e | ;this i|s a stan|
|00001830| 64 61 72 64 20 6d 6f 6e | 6f 00 20 20 20 20 be 13 |dard mon|o. ..|
|00001840| 20 30 2c 26 62 32 2c 31 | 20 20 20 20 20 20 20 20 | 0,&b2,1| |
|00001850| 20 3b 38 62 69 74 20 77 | 61 76 20 66 69 6c 65 00 | ;8bit w|av file.|
|00001860| 20 20 20 20 be 13 20 30 | 2c 26 62 32 2c 31 00 00 | .. 0|,&b2,1..|
|00001870| 20 20 20 20 be 13 20 30 | 2c 26 62 33 2c 31 20 20 | .. 0|,&b3,1 |
|00001880| 20 20 20 20 20 20 20 3b | 6e 6f 20 6e 65 65 64 20 | ;|no need |
|00001890| 74 6f 20 6d 65 73 73 20 | 77 69 74 68 20 61 6e 79 |to mess |with any|
|000018a0| 74 68 69 6e 67 00 20 20 | 20 20 be 13 20 30 2c 26 |thing. | .. 0,&|
|000018b0| 62 32 2c 31 20 20 20 20 | 20 20 20 20 20 3b 68 65 |b2,1 | ;he|
|000018c0| 72 65 20 73 69 6e 63 65 | 20 6f 75 72 20 42 6c 69 |re since| our Bli|
|000018d0| 74 7a 20 73 6f 75 6e 64 | 73 00 20 20 20 20 be 13 |tz sound|s. ..|
|000018e0| 20 30 2c 26 62 33 2c 31 | 20 20 20 20 20 20 20 20 | 0,&b3,1| |
|000018f0| 20 3b 63 61 6e 20 6f 6e | 6c 79 20 65 76 65 72 20 | ;can on|ly ever |
|00001900| 62 65 20 38 20 62 69 74 | 20 6d 6f 6e 6f 00 20 20 |be 8 bit| mono. |
|00001910| 20 20 be 13 20 30 2c 26 | 62 32 2c 31 00 00 20 20 | .. 0,&|b2,1.. |
|00001920| 20 20 be 13 20 30 2c 26 | 73 70 65 72 73 65 63 2c | .. 0,&|spersec,|
|00001930| 34 20 20 20 20 3b 73 61 | 6d 70 6c 65 73 20 74 6f |4 ;sa|mples to|
|00001940| 20 62 65 20 70 6c 61 79 | 65 64 20 70 65 72 20 73 | be play|ed per s|
|00001950| 65 63 6f 6e 64 00 20 20 | 20 20 be 13 20 30 2c 26 |econd. | .. 0,&|
|00001960| 73 70 65 72 73 65 63 2c | 34 20 20 20 20 3b 61 76 |spersec,|4 ;av|
|00001970| 65 72 61 67 65 20 62 79 | 74 65 73 20 70 65 72 20 |erage by|tes per |
|00001980| 73 65 63 6f 6e 64 00 20 | 20 20 20 20 20 20 20 20 |second. | |
|00001990| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019a0| 20 20 20 20 3b 77 68 69 | 63 68 20 69 73 20 74 68 | ;whi|ch is th|
|000019b0| 65 20 73 61 6d 65 20 61 | 73 20 61 62 6f 76 65 20 |e same a|s above |
|000019c0| 66 6f 72 20 38 62 69 74 | 00 00 20 20 20 20 be 13 |for 8bit|.. ..|
|000019d0| 20 30 2c 26 62 33 2c 31 | 20 20 20 20 20 20 20 20 | 0,&b3,1| |
|000019e0| 20 3b 6d 6f 72 65 20 67 | 65 6e 65 72 69 63 20 38 | ;more g|eneric 8|
|000019f0| 62 69 74 20 6d 6f 6e 6f | 20 73 74 75 66 66 00 20 |bit mono| stuff. |
|00001a00| 20 20 20 be 13 20 30 2c | 26 62 32 2c 31 00 20 20 | .. 0,|&b2,1. |
|00001a10| 20 20 be 13 20 30 2c 26 | 62 36 2c 31 00 20 20 20 | .. 0,&|b6,1. |
|00001a20| 20 be 13 20 30 2c 26 62 | 32 2c 31 00 00 20 20 20 | .. 0,&b|2,1.. |
|00001a30| 20 dd 81 20 22 64 61 74 | 61 22 20 20 20 20 20 20 | .. "dat|a" |
|00001a40| 20 20 20 20 20 20 20 3b | 6e 75 6d 62 65 72 20 6f | ;|number o|
|00001a50| 66 20 62 79 74 65 73 20 | 6f 66 20 61 63 74 75 61 |f bytes |of actua|
|00001a60| 6c 20 73 61 6d 70 6c 65 | 20 64 61 74 61 00 20 20 |l sample| data. |
|00001a70| 20 20 be 13 20 30 2c 26 | 64 61 74 6c 65 6e 2c 34 | .. 0,&|datlen,4|
|00001a80| 20 20 20 20 20 3b 74 6f | 20 66 6f 6c 6c 6f 77 00 | ;to| follow.|
|00001a90| 00 20 20 20 20 3b 6e 6f | 77 20 74 68 61 74 20 61 |. ;no|w that a|
|00001aa0| 6c 6c 20 74 68 61 74 20 | 6e 6f 6e 73 65 6e 73 65 |ll that |nonsense|
|00001ab0| 20 69 73 20 6f 75 74 20 | 6f 66 20 74 68 65 20 77 | is out |of the w|
|00001ac0| 61 79 2c 20 77 65 20 63 | 61 6e 20 66 69 6e 61 6c |ay, we c|an final|
|00001ad0| 6c 79 00 20 20 20 20 3b | 73 61 76 65 20 74 68 65 |ly. ;|save the|
|00001ae0| 20 61 63 74 75 61 6c 20 | 73 61 6d 70 6c 65 20 64 | actual |sample d|
|00001af0| 61 74 61 2e 2e 2e 00 00 | 20 20 20 20 2a 62 79 74 |ata.....| *byt|
|00001b00| 65 67 72 61 62 3d 2a 73 | 6e 64 73 74 61 72 74 00 |egrab=*s|ndstart.|
|00001b10| 20 20 20 20 2a 74 68 61 | 74 73 61 6c 6c 3d 2a 73 | *tha|tsall=*s|
|00001b20| 6e 64 73 74 61 72 74 2b | 73 6c 65 6e 20 20 20 20 |ndstart+|slen |
|00001b30| 20 20 20 3b 68 65 72 65 | 20 77 65 20 63 6f 6e 76 | ;here| we conv|
|00001b40| 65 72 74 20 6f 75 72 20 | 73 69 67 6e 65 64 20 62 |ert our |signed b|
|00001b50| 79 74 65 73 20 74 6f 00 | 20 20 20 20 80 bb 20 20 |ytes to.| .. |
|00001b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b70| 20 20 20 20 20 20 20 3b | 2e 77 61 76 27 73 20 75 | ;|.wav's u|
|00001b80| 6e 73 69 67 6e 65 64 20 | 38 62 69 74 20 66 6f 72 |nsigned |8bit for|
|00001b90| 6d 61 74 00 20 20 20 20 | 20 20 74 68 69 73 62 79 |mat. | thisby|
|00001ba0| 74 65 2e 62 3d da 02 2e | 62 28 2a 62 79 74 65 67 |te.b=...|b(*byteg|
|00001bb0| 72 61 62 29 20 3b 61 6e | 64 20 73 61 76 65 20 74 |rab) ;an|d save t|
|00001bc0| 68 65 20 64 61 74 61 20 | 74 6f 20 74 68 65 20 66 |he data |to the f|
|00001bd0| 69 6c 65 00 20 20 20 20 | 20 20 74 68 69 73 62 79 |ile. | thisby|
|00001be0| 74 65 20 2d 24 38 30 20 | 20 20 20 20 20 20 20 20 |te -$80 | |
|00001bf0| 20 20 20 20 20 20 20 3b | 74 68 65 20 73 61 6d 70 | ;|the samp|
|00001c00| 6c 65 20 69 74 73 65 6c | 66 20 69 73 20 6e 6f 74 |le itsel|f is not|
|00001c10| 20 61 6c 74 65 72 65 64 | 21 00 20 20 20 20 20 20 | altered|!. |
|00001c20| be 13 20 30 2c 26 74 68 | 69 73 62 79 74 65 2c 31 |.. 0,&th|isbyte,1|
|00001c30| 00 20 20 20 20 20 20 2a | 62 79 74 65 67 72 61 62 |. *|bytegrab|
|00001c40| 2b 31 00 20 20 20 20 80 | bc 20 2a 62 79 74 65 67 |+1. .|. *byteg|
|00001c50| 72 61 62 3d 2a 74 68 61 | 74 73 61 6c 6c 20 20 20 |rab=*tha|tsall |
|00001c60| 20 20 20 3b 74 68 61 74 | 27 73 20 69 74 20 2d 20 | ;that|'s it - |
|00001c70| 77 65 27 72 65 20 6f 75 | 74 74 61 20 68 65 72 65 |we're ou|tta here|
|00001c80| 21 00 20 20 20 20 be 02 | 20 30 00 20 20 20 20 d2 |!. ..| 0. .|
|00001c90| 0b 00 20 20 80 22 20 20 | 20 20 20 20 20 20 20 20 |.. ." | |
|00001ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 44 4f | | ;DO|
|00001cb0| 53 20 65 72 72 6f 72 20 | 2d 20 63 6f 75 6c 64 20 |S error |- could |
|00001cc0| 6e 6f 74 20 73 61 76 65 | 20 74 68 65 20 66 69 6c |not save| the fil|
|00001cd0| 65 21 00 20 20 20 20 65 | 72 72 6f 72 3d 31 00 20 |e!. e|rror=1. |
|00001ce0| 20 80 c0 00 00 80 22 00 | 20 20 65 72 72 6f 72 3d | .....".| error=|
|00001cf0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00001d00| 20 20 20 20 20 3b 73 6f | 72 72 79 2c 20 74 68 61 | ;so|rry, tha|
|00001d10| 74 20 73 61 6d 70 6c 65 | 20 64 6f 65 73 6e 27 74 |t sample| doesn't|
|00001d20| 20 65 78 69 73 74 21 00 | 80 c0 00 00 80 09 20 80 | exist!.|...... .|
|00001d30| 07 20 65 72 72 6f 72 00 | 00 80 02 20 80 09 00 00 |. error.|... ....|
|00001d40| 00 00 3b 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..;-----|--------|
|00001d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d70| 2d 2d 2d 2d 2d 2d 2d 2d | 00 3b 20 41 53 4c 20 46 |--------|.; ASL F|
|00001d80| 69 6c 65 20 72 65 71 75 | 65 73 74 20 62 79 20 50 |ile requ|est by P|
|00001d90| 61 75 6c 20 42 75 72 6b | 65 79 00 3b 00 00 80 09 |aul Burk|ey.;....|
|00001da0| 20 2e 73 20 41 53 4c 46 | 69 6c 65 52 65 71 75 65 | .s ASLF|ileReque|
|00001db0| 73 74 7b 74 69 74 6c 65 | 24 2c 70 61 74 68 6e 61 |st{title|$,pathna|
|00001dc0| 6d 65 24 2c 66 69 6c 65 | 6e 61 6d 65 24 2c 64 6f |me$,file|name$,do|
|00001dd0| 69 74 24 7d 00 80 15 20 | 73 66 69 6c 65 24 2c 70 |it$}... |sfile$,p|
|00001de0| 61 74 68 24 00 00 20 20 | 2a 73 63 72 2e 53 63 72 |ath$.. |*scr.Scr|
|00001df0| 65 65 6e 3d da 02 2e 6c | 28 80 b8 20 cf 01 28 30 |een=...l|(.. ..(0|
|00001e00| 29 29 00 00 20 20 6c 65 | 66 74 2e 77 3d 28 2a 73 |)).. le|ft.w=(*s|
|00001e10| 63 72 5c 57 69 64 74 68 | 2d 33 32 30 29 2f 32 00 |cr\Width|-320)/2.|
|00001e20| 20 20 72 71 68 65 69 67 | 68 74 2e 77 3d 2a 73 63 | rqheig|ht.w=*sc|
|00001e30| 72 5c 48 65 69 67 68 74 | 2d 34 30 00 20 20 80 04 |r\Height|-40. ..|
|00001e40| 20 54 61 67 73 2e 54 61 | 67 49 74 65 6d 28 31 30 | Tags.Ta|gItem(10|
|00001e50| 29 00 20 20 54 61 67 73 | 28 30 29 5c 74 69 5f 54 |). Tags|(0)\ti_T|
|00001e60| 61 67 3d 23 41 53 4c 46 | 52 5f 53 63 72 65 65 6e |ag=#ASLF|R_Screen|
|00001e70| 2c 2a 73 63 72 00 20 20 | 54 61 67 73 28 31 29 5c |,*scr. |Tags(1)\|
|00001e80| 74 69 5f 54 61 67 3d 23 | 41 53 4c 46 52 5f 50 6f |ti_Tag=#|ASLFR_Po|
|00001e90| 73 69 74 69 76 65 54 65 | 78 74 2c 26 64 6f 69 74 |sitiveTe|xt,&doit|
|00001ea0| 24 00 20 20 54 61 67 73 | 28 32 29 5c 74 69 5f 54 |$. Tags|(2)\ti_T|
|00001eb0| 61 67 3d 23 41 53 4c 46 | 52 5f 52 65 6a 65 63 74 |ag=#ASLF|R_Reject|
|00001ec0| 49 63 6f 6e 73 2c 2d 31 | 00 20 20 54 61 67 73 28 |Icons,-1|. Tags(|
|00001ed0| 33 29 5c 74 69 5f 54 61 | 67 3d 23 41 53 4c 46 52 |3)\ti_Ta|g=#ASLFR|
|00001ee0| 5f 54 69 74 6c 65 54 65 | 78 74 2c 26 74 69 74 6c |_TitleTe|xt,&titl|
|00001ef0| 65 24 00 20 20 54 61 67 | 73 28 34 29 5c 74 69 5f |e$. Tag|s(4)\ti_|
|00001f00| 54 61 67 3d 23 41 53 4c | 46 52 5f 49 6e 69 74 69 |Tag=#ASL|FR_Initi|
|00001f10| 61 6c 46 69 6c 65 2c 26 | 66 69 6c 65 6e 61 6d 65 |alFile,&|filename|
|00001f20| 24 00 20 20 54 61 67 73 | 28 35 29 5c 74 69 5f 54 |$. Tags|(5)\ti_T|
|00001f30| 61 67 3d 23 41 53 4c 46 | 52 5f 49 6e 69 74 69 61 |ag=#ASLF|R_Initia|
|00001f40| 6c 44 72 61 77 65 72 2c | 26 70 61 74 68 6e 61 6d |lDrawer,|&pathnam|
|00001f50| 65 24 00 20 20 54 61 67 | 73 28 36 29 5c 74 69 5f |e$. Tag|s(6)\ti_|
|00001f60| 54 61 67 3d 23 41 53 4c | 46 52 5f 49 6e 69 74 69 |Tag=#ASL|FR_Initi|
|00001f70| 61 6c 4c 65 66 74 45 64 | 67 65 2c 6c 65 66 74 00 |alLeftEd|ge,left.|
|00001f80| 20 20 54 61 67 73 28 37 | 29 5c 74 69 5f 54 61 67 | Tags(7|)\ti_Tag|
|00001f90| 3d 23 41 53 4c 46 52 5f | 49 6e 69 74 69 61 6c 54 |=#ASLFR_|InitialT|
|00001fa0| 6f 70 45 64 67 65 2c 32 | 30 00 20 20 54 61 67 73 |opEdge,2|0. Tags|
|00001fb0| 28 38 29 5c 74 69 5f 54 | 61 67 3d 23 41 53 4c 46 |(8)\ti_T|ag=#ASLF|
|00001fc0| 52 5f 49 6e 69 74 69 61 | 6c 57 69 64 74 68 2c 33 |R_Initia|lWidth,3|
|00001fd0| 32 30 00 20 20 54 61 67 | 73 28 39 29 5c 74 69 5f |20. Tag|s(9)\ti_|
|00001fe0| 54 61 67 3d 23 41 53 4c | 46 52 5f 49 6e 69 74 69 |Tag=#ASL|FR_Initi|
|00001ff0| 61 6c 48 65 69 67 68 74 | 2c 72 71 68 65 69 67 68 |alHeight|,rqheigh|
|00002000| 74 00 20 20 54 61 67 73 | 28 31 30 29 5c 74 69 5f |t. Tags|(10)\ti_|
|00002010| 54 61 67 3d 23 54 41 47 | 5f 45 4e 44 2c 30 00 00 |Tag=#TAG|_END,0..|
|00002020| 20 20 2a 66 69 6c 65 72 | 65 71 2e 46 69 6c 65 52 | *filer|eq.FileR|
|00002030| 65 71 75 65 73 74 65 72 | 3d fb 84 28 23 41 53 4c |equester|=..(#ASL|
|00002040| 5f 46 69 6c 65 52 65 71 | 75 65 73 74 2c 26 54 61 |_FileReq|uest,&Ta|
|00002050| 67 73 28 30 29 29 00 20 | 20 80 0b 20 2a 66 69 6c |gs(0)). | .. *fil|
|00002060| 65 72 65 71 00 20 20 20 | 20 6f 6b 2e 6c 3d fb 86 |ereq. | ok.l=..|
|00002070| 28 2a 66 69 6c 65 72 65 | 71 2c 26 54 61 67 73 28 |(*filere|q,&Tags(|
|00002080| 30 29 29 00 20 20 20 20 | 80 0b 20 6f 6b 00 20 20 |0)). |.. ok. |
|00002090| 20 20 20 20 66 24 3d da | 02 2e 73 28 2a 66 69 6c | f$=.|..s(*fil|
|000020a0| 65 72 65 71 5c 66 72 5f | 44 72 61 77 65 72 29 00 |ereq\fr_|Drawer).|
|000020b0| 20 20 20 20 20 20 80 0b | 20 66 24 3c 3e 22 22 20 | ..| f$<>"" |
|000020c0| 80 21 20 80 0b 20 dc 82 | 28 66 24 2c 31 29 3c 3e |.! .. ..|(f$,1)<>|
|000020d0| 22 3a 22 20 80 42 20 dc | 82 28 66 24 2c 31 29 3c |":" .B .|.(f$,1)<|
|000020e0| 3e 22 2f 22 20 80 21 20 | 66 24 3d 66 24 2b 22 2f |>"/" .! |f$=f$+"/|
|000020f0| 22 00 20 20 20 20 20 20 | 70 61 74 68 24 3d 66 24 |". |path$=f$|
|00002100| 00 20 20 20 20 20 20 73 | 66 69 6c 65 24 3d da 02 |. s|file$=..|
|00002110| 2e 73 28 2a 66 69 6c 65 | 72 65 71 5c 66 72 5f 46 |.s(*file|req\fr_F|
|00002120| 69 6c 65 29 00 20 20 20 | 20 20 20 66 24 3d 66 24 |ile). | f$=f$|
|00002130| 2b 73 66 69 6c 65 24 00 | 20 20 20 20 80 c0 00 20 |+sfile$.| ... |
|00002140| 20 20 20 fb 85 28 2a 66 | 69 6c 65 72 65 71 29 00 | ..(*f|ilereq).|
|00002150| 20 20 80 c0 00 20 20 80 | 09 20 80 07 20 66 24 00 | ... .|. .. f$.|
|00002160| 80 02 20 80 09 00 3b 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.. ...;-|--------|
|00002170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 00 |--------|-------.|
|000021a0| 3b 20 2d 2d 2d 00 3b 20 | 2d 2d 2d 20 47 54 47 65 |; ---.; |--- GTGe|
|000021b0| 74 53 74 72 20 47 54 4c | 69 73 74 23 2c 20 67 61 |tStr GTL|ist#, ga|
|000021c0| 64 69 64 20 20 20 28 47 | 54 47 65 74 53 74 72 69 |did (G|TGetStri|
|000021d0| 6e 67 20 72 65 70 6c 61 | 63 65 6d 65 6e 74 29 00 |ng repla|cement).|
|000021e0| 3b 20 2d 2d 2d 00 80 09 | 2e 73 20 47 54 47 65 74 |; ---...|.s GTGet|
|000021f0| 53 74 72 7b 6c 73 74 2e | 77 2c 20 67 64 74 2e 77 |Str{lst.|w, gdt.w|
|00002200| 7d 00 20 20 2a 67 61 64 | 2e 47 61 64 67 65 74 20 |}. *gad|.Gadget |
|00002210| 3d 20 c6 90 28 6c 73 74 | 2c 20 67 64 74 29 00 20 |= ..(lst|, gdt). |
|00002220| 20 2a 73 69 2e 53 74 72 | 69 6e 67 49 6e 66 6f 20 | *si.Str|ingInfo |
|00002230| 3d 20 2a 67 61 64 5c 53 | 70 65 63 69 61 6c 49 6e |= *gad\S|pecialIn|
|00002240| 66 6f 00 20 20 61 24 3d | 20 da 02 24 28 2a 73 69 |fo. a$=| ..$(*si|
|00002250| 5c 5f 42 75 66 66 65 72 | 29 00 20 20 80 09 20 80 |\_Buffer|). .. .|
|00002260| 07 20 61 24 00 80 02 20 | 80 09 00 3b 2d 2d 2d 2d |. a$... |...;----|
|00002270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022a0| 2d 2d 2d 2d 00 3b 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |----.;==|========|
|000022b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000022c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000022d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 00 00 |========|======..|
|000022e0| ff b5 00 cf 04 20 30 00 | 80 c3 00 00 23 5f 73 74 |..... 0.|....#_st|
|000022f0| 72 69 6e 67 20 3d 20 35 | 30 20 20 20 20 20 20 20 |ring = 5|0 |
|00002300| 20 20 20 20 3b 67 61 64 | 67 65 74 6c 69 73 74 20 | ;gad|getlist |
|00002310| 69 64 27 73 00 23 5f 73 | 70 65 65 64 20 20 3d 20 |id's.#_s|peed = |
|00002320| 35 31 00 23 5f 66 72 65 | 71 20 20 20 3d 20 35 32 |51.#_fre|q = 52|
|00002330| 00 23 5f 72 65 63 6f 72 | 64 20 3d 20 35 33 00 23 |.#_recor|d = 53.#|
|00002340| 5f 54 65 73 74 20 20 20 | 3d 20 35 34 00 23 5f 71 |_Test |= 54.#_q|
|00002350| 75 69 74 20 20 20 3d 20 | 35 35 00 23 5f 73 65 78 |uit = |55.#_sex|
|00002360| 20 20 20 20 3d 20 35 36 | 00 23 5f 69 6e 74 6f 6e | = 56|.#_inton|
|00002370| 65 20 3d 20 35 37 00 23 | 5f 73 61 76 66 6d 74 20 |e = 57.#|_savfmt |
|00002380| 3d 20 35 38 00 00 73 61 | 76 65 64 2e 77 20 3d 31 |= 58..sa|ved.w =1|
|00002390| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 66 6f | | ;fo|
|000023a0| 72 20 69 6e 63 72 65 6d | 65 6e 74 69 6e 67 20 74 |r increm|enting t|
|000023b0| 68 65 20 73 61 76 65 20 | 6e 61 6d 65 00 00 00 80 |he save |name....|
|000023c0| 04 20 73 61 76 66 6d 74 | 24 28 31 29 00 73 61 76 |. savfmt|$(1).sav|
|000023d0| 66 6d 74 24 28 30 29 3d | 22 2e 69 66 66 22 00 73 |fmt$(0)=|".iff".s|
|000023e0| 61 76 66 6d 74 24 28 31 | 29 3d 22 2e 77 61 76 22 |avfmt$(1|)=".wav"|
|000023f0| 00 00 70 61 74 68 24 3d | 22 52 41 4d 3a 22 20 20 |..path$=|"RAM:" |
|00002400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002410| 20 20 3b 64 65 66 61 75 | 6c 74 20 73 61 76 65 20 | ;defau|lt save |
|00002420| 70 61 74 68 00 64 65 66 | 24 3d 22 54 68 65 72 65 |path.def|$="There|
|00002430| 20 69 73 20 6e 6f 74 68 | 69 6e 67 20 74 6f 20 73 | is noth|ing to s|
|00002440| 61 79 21 22 20 3b 69 6e | 20 63 61 73 65 20 74 68 |ay!" ;in| case th|
|00002450| 65 79 20 22 65 72 61 73 | 65 22 20 61 6c 6c 20 74 |ey "eras|e" all t|
|00002460| 68 65 20 74 65 78 74 00 | 73 65 78 24 3d 22 2d 6d |he text.|sex$="-m|
|00002470| 20 22 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | " | |
|00002480| 20 20 20 20 20 20 20 20 | 3b 64 65 66 61 75 6c 74 | |;default|
|00002490| 20 73 65 78 20 3d 20 6d | 61 6c 65 00 69 6e 74 6f | sex = m|ale.into|
|000024a0| 6e 65 24 3d 22 2d 6e 20 | 22 20 20 20 20 20 20 20 |ne$="-n |" |
|000024b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 64 65 66 | | ;def|
|000024c0| 61 75 6c 74 20 69 6e 74 | 6f 6e 61 74 69 6f 6e 20 |ault int|onation |
|000024d0| 3d 20 6e 61 74 75 72 61 | 6c 00 73 70 65 65 64 2e |= natura|l.speed.|
|000024e0| 77 3d 31 35 30 20 20 20 | 20 20 20 20 20 20 20 20 |w=150 | |
|000024f0| 20 20 20 20 20 20 20 20 | 20 20 3b 64 65 66 61 75 | | ;defau|
|00002500| 6c 74 20 73 70 65 61 6b | 69 6e 67 20 72 61 74 65 |lt speak|ing rate|
|00002510| 00 66 72 71 2e 77 3d 31 | 31 30 20 20 20 20 20 20 |.frq.w=1|10 |
|00002520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002530| 20 3b 64 65 66 61 75 6c | 74 20 70 69 74 63 68 00 | ;defaul|t pitch.|
|00002540| 00 2a 73 63 72 2e 53 63 | 72 65 65 6e 20 3d 20 da |.*scr.Sc|reen = .|
|00002550| 02 2e 6c 20 28 80 b8 20 | cf 01 28 30 29 29 20 20 |..l (.. |..(0)) |
|00002560| 3b 66 69 6e 64 20 6f 75 | 72 20 73 63 72 65 65 6e |;find ou|r screen|
|00002570| 27 73 20 61 64 64 72 65 | 73 73 00 66 6e 61 6d 65 |'s addre|ss.fname|
|00002580| 24 3d da 02 2e 73 28 2a | 73 63 72 5c 46 6f 6e 74 |$=...s(*|scr\Font|
|00002590| 5c 74 61 5f 4e 61 6d 65 | 29 20 20 20 20 20 20 20 |\ta_Name|) |
|000025a0| 3b 67 65 74 20 74 68 65 | 20 73 63 72 65 65 6e 27 |;get the| screen'|
|000025b0| 73 20 66 6f 6e 74 20 6e | 61 6d 65 00 66 68 65 69 |s font n|ame.fhei|
|000025c0| 67 68 74 2e 77 3d 2a 73 | 63 72 5c 46 6f 6e 74 5c |ght.w=*s|cr\Font\|
|000025d0| 74 61 5f 59 53 69 7a 65 | 20 20 20 20 20 20 20 20 |ta_YSize| |
|000025e0| 20 20 20 3b 61 6e 64 20 | 73 69 7a 65 00 c3 01 20 | ;and |size... |
|000025f0| 30 2c 66 6e 61 6d 65 24 | 2c 66 68 65 69 67 68 74 |0,fname$|,fheight|
|00002600| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 61 | | ;a|
|00002610| 6e 64 20 75 73 65 20 69 | 74 20 66 6f 72 20 6f 75 |nd use i|t for ou|
|00002620| 72 20 77 69 6e 64 6f 77 | 00 00 3b 20 20 63 68 65 |r window|..; che|
|00002630| 63 6b 20 66 6f 72 20 74 | 68 65 20 53 61 79 20 70 |ck for t|he Say p|
|00002640| 72 6f 67 72 61 6d 20 69 | 6e 20 73 79 73 3a 75 74 |rogram i|n sys:ut|
|00002650| 69 6c 69 74 69 65 73 2f | 00 3b 20 20 69 66 20 69 |ilities/|.; if i|
|00002660| 74 20 69 73 20 74 68 65 | 72 65 2c 20 77 65 20 77 |t is the|re, we w|
|00002670| 69 6c 6c 20 61 73 73 75 | 6d 65 20 74 68 65 79 20 |ill assu|me they |
|00002680| 68 61 76 65 20 61 20 77 | 6f 72 6b 69 6e 67 00 3b |have a w|orking.;|
|00002690| 20 20 73 70 65 65 63 68 | 20 73 65 74 75 70 2e 2e | speech| setup..|
|000026a0| 2e 00 00 80 0b 20 49 73 | 54 68 65 72 65 7b 22 53 |..... Is|There{"S|
|000026b0| 59 53 3a 75 74 69 6c 69 | 74 69 65 73 2f 73 61 79 |YS:utili|ties/say|
|000026c0| 22 7d 3d 30 00 20 20 72 | 71 24 3d 22 53 6f 72 72 |"}=0. r|q$="Sorr|
|000026d0| 79 2e 2e 2e 7c 54 68 69 | 73 20 70 72 6f 67 72 61 |y...|Thi|s progra|
|000026e0| 6d 20 72 65 71 75 69 72 | 65 73 7c 61 20 77 6f 72 |m requir|es|a wor|
|000026f0| 6b 69 6e 67 20 20 63 6f | 70 79 20 6f 66 20 27 53 |king co|py of 'S|
|00002700| 61 79 27 7c 22 00 20 20 | 72 71 24 2b 22 69 6e 20 |ay'|". |rq$+"in |
|00002710| 79 6f 75 72 20 53 59 53 | 3a 75 74 69 6c 69 74 69 |your SYS|:utiliti|
|00002720| 65 73 2f 7c 64 72 61 77 | 65 72 2e 20 20 50 6c 65 |es/|draw|er. Ple|
|00002730| 61 73 65 20 72 65 61 64 | 20 74 68 65 20 64 6f 63 |ase read| the doc|
|00002740| 73 22 00 20 20 61 6e 73 | 77 65 72 2e 62 3d 52 54 |s". ans|wer.b=RT|
|00002750| 72 65 71 7b 72 71 24 7d | 00 20 20 80 02 00 80 c0 |req{rq$}|. .....|
|00002760| 00 00 3b 20 6e 6f 77 2c | 20 64 6f 20 74 68 65 20 |..; now,| do the |
|00002770| 63 61 6c 63 75 6c 61 74 | 69 6f 6e 73 20 66 6f 72 |calculat|ions for|
|00002780| 20 74 68 65 20 67 61 64 | 67 65 74 20 26 20 77 69 | the gad|get & wi|
|00002790| 6e 64 6f 77 20 73 69 7a | 65 73 00 3b 20 61 6e 64 |ndow siz|es.; and|
|000027a0| 20 73 65 74 75 70 20 74 | 68 65 20 67 61 64 67 65 | setup t|he gadge|
|000027b0| 74 20 6c 69 73 74 00 00 | 6f 66 66 79 2e 62 20 3d |t list..|offy.b =|
|000027c0| 20 2a 73 63 72 5c 57 42 | 6f 72 54 6f 70 20 2b 20 | *scr\WB|orTop + |
|000027d0| 2a 73 63 72 5c 5f 52 61 | 73 74 50 6f 72 74 5c 54 |*scr\_Ra|stPort\T|
|000027e0| 78 48 65 69 67 68 74 20 | 2b 31 00 67 61 64 68 69 |xHeight |+1.gadhi|
|000027f0| 2e 77 3d 2a 73 63 72 5c | 5f 52 61 73 74 50 6f 72 |.w=*scr\|_RastPor|
|00002800| 74 5c 54 78 48 65 69 67 | 68 74 2b 32 00 77 69 6e |t\TxHeig|ht+2.win|
|00002810| 78 2e 6c 3d 28 2a 73 63 | 72 5c 57 69 64 74 68 29 |x.l=(*sc|r\Width)|
|00002820| 20 2d 34 32 34 00 77 69 | 6e 78 2f 32 00 73 70 61 | -424.wi|nx/2.spa|
|00002830| 63 65 2e 62 3d 32 00 00 | c5 35 20 24 32 30 7c 24 |ce.b=2..|.5 $20|$|
|00002840| 31 30 20 20 20 3b 20 66 | 6f 72 20 69 6d 6d 65 64 |10 ; f|or immed|
|00002850| 69 61 74 65 20 6f 75 74 | 70 75 74 20 66 72 6f 6d |iate out|put from|
|00002860| 20 74 68 65 20 73 6c 69 | 64 65 72 00 66 24 3d 22 | the sli|der.f$="|
|00002870| 25 32 6c 64 22 20 20 20 | 20 20 20 20 20 20 20 3b |%2ld" | ;|
|00002880| 20 66 6f 72 20 74 68 65 | 20 73 6c 69 64 65 72 20 | for the| slider |
|00002890| 72 65 61 64 6f 75 74 00 | c6 8c 20 20 20 20 30 2c |readout.|.. 0,|
|000028a0| 23 5f 73 74 72 69 6e 67 | 2c 37 2c 73 70 61 63 65 |#_string|,7,space|
|000028b0| 2c 34 30 30 2c 67 61 64 | 68 69 2b 32 2c 22 22 2c |,400,gad|hi+2,"",|
|000028c0| 30 2c 32 35 36 2c 22 54 | 68 69 73 20 69 73 20 41 |0,256,"T|his is A|
|000028d0| 6d 69 67 61 20 73 70 65 | 61 6b 69 6e 67 2e 22 00 |miga spe|aking.".|
|000028e0| 63 75 72 72 59 2e 77 3d | 73 70 61 63 65 2b 67 61 |currY.w=|space+ga|
|000028f0| 64 68 69 2b 73 70 61 63 | 65 2b 32 00 c6 84 20 20 |dhi+spac|e+2... |
|00002900| 20 20 20 30 2c 23 5f 73 | 65 78 2c 20 20 20 20 20 | 0,#_s|ex, |
|00002910| 38 2c 63 75 72 72 59 2c | 31 33 30 2c 67 61 64 68 |8,currY,|130,gadh|
|00002920| 69 2c 22 22 2c 30 2c 22 | 4d 61 6c 65 7c 46 65 6d |i,"",0,"|Male|Fem|
|00002930| 61 6c 65 22 00 c6 8f 20 | 23 47 54 53 4c 5f 4c 65 |ale"... |#GTSL_Le|
|00002940| 76 65 6c 50 6c 61 63 65 | 2c 23 50 4c 41 43 45 54 |velPlace|,#PLACET|
|00002950| 45 58 54 5f 52 49 47 48 | 54 2c 23 47 54 53 4c 5f |EXT_RIGH|T,#GTSL_|
|00002960| 4d 61 78 4c 65 76 65 6c | 4c 65 6e 2c 33 2c 23 47 |MaxLevel|Len,3,#G|
|00002970| 54 53 4c 5f 4c 65 76 65 | 6c 46 6f 72 6d 61 74 2c |TSL_Leve|lFormat,|
|00002980| 26 66 24 00 c6 8b 20 20 | 20 20 30 2c 23 5f 73 70 |&f$... | 0,#_sp|
|00002990| 65 65 64 2c 31 39 34 2c | 20 63 75 72 72 59 2c 31 |eed,194,| currY,1|
|000029a0| 37 30 2c 67 61 64 68 69 | 2c 22 52 61 74 65 22 2c |70,gadhi|,"Rate",|
|000029b0| 20 24 38 30 7c 24 31 2c | 34 30 2c 34 30 30 2c 31 | $80|$1,|40,400,1|
|000029c0| 35 30 00 63 75 72 72 59 | 2b 67 61 64 68 69 2b 73 |50.currY|+gadhi+s|
|000029d0| 70 61 63 65 00 c6 84 20 | 20 20 20 20 30 2c 23 5f |pace... | 0,#_|
|000029e0| 69 6e 74 6f 6e 65 2c 38 | 2c 63 75 72 72 59 2c 31 |intone,8|,currY,1|
|000029f0| 33 30 2c 67 61 64 68 69 | 2c 22 22 2c 30 2c 22 4e |30,gadhi|,"",0,"N|
|00002a00| 61 74 75 72 61 6c 7c 52 | 6f 62 6f 74 22 00 c6 8f |atural|R|obot"...|
|00002a10| 20 23 47 54 53 4c 5f 4c | 65 76 65 6c 50 6c 61 63 | #GTSL_L|evelPlac|
|00002a20| 65 2c 23 50 4c 41 43 45 | 54 45 58 54 5f 52 49 47 |e,#PLACE|TEXT_RIG|
|00002a30| 48 54 2c 23 47 54 53 4c | 5f 4d 61 78 4c 65 76 65 |HT,#GTSL|_MaxLeve|
|00002a40| 6c 4c 65 6e 2c 33 2c 23 | 47 54 53 4c 5f 4c 65 76 |lLen,3,#|GTSL_Lev|
|00002a50| 65 6c 46 6f 72 6d 61 74 | 2c 26 66 24 00 c6 8b 20 |elFormat|,&f$... |
|00002a60| 20 20 20 30 2c 23 5f 66 | 72 65 71 2c 20 31 39 34 | 0,#_f|req, 194|
|00002a70| 2c 63 75 72 72 59 2c 31 | 37 30 2c 67 61 64 68 69 |,currY,1|70,gadhi|
|00002a80| 2c 22 50 69 74 63 68 22 | 2c 24 38 30 7c 24 31 2c |,"Pitch"|,$80|$1,|
|00002a90| 36 35 2c 33 32 30 2c 31 | 31 30 00 63 75 72 72 59 |65,320,1|10.currY|
|00002aa0| 2b 67 61 64 68 69 2b 73 | 70 61 63 65 00 c6 82 20 |+gadhi+s|pace... |
|00002ab0| 20 20 20 30 2c 23 5f 72 | 65 63 6f 72 64 2c 38 2c | 0,#_r|ecord,8,|
|00002ac0| 63 75 72 72 59 2c 39 35 | 2c 67 61 64 68 69 2c 22 |currY,95|,gadhi,"|
|00002ad0| 52 65 63 6f 72 64 22 2c | 23 50 4c 41 43 45 54 45 |Record",|#PLACETE|
|00002ae0| 58 54 5f 49 4e 00 c6 84 | 20 20 20 20 20 30 2c 23 |XT_IN...| 0,#|
|00002af0| 5f 73 61 76 66 6d 74 2c | 31 30 33 2c 63 75 72 72 |_savfmt,|103,curr|
|00002b00| 59 2c 39 35 2c 67 61 64 | 68 69 2c 22 22 2c 30 2c |Y,95,gad|hi,"",0,|
|00002b10| 22 49 46 46 7c 57 41 56 | 22 00 c6 82 20 20 20 20 |"IFF|WAV|"... |
|00002b20| 30 2c 23 5f 54 65 73 74 | 2c 32 30 38 2c 63 75 72 |0,#_Test|,208,cur|
|00002b30| 72 59 2c 31 30 30 2c 67 | 61 64 68 69 2c 22 54 65 |rY,100,g|adhi,"Te|
|00002b40| 73 74 22 2c 20 20 23 50 | 4c 41 43 45 54 45 58 54 |st", #P|LACETEXT|
|00002b50| 5f 49 4e 00 c6 82 20 20 | 20 20 30 2c 23 5f 71 75 |_IN... | 0,#_qu|
|00002b60| 69 74 2c 33 31 30 2c 63 | 75 72 72 59 2c 31 30 30 |it,310,c|urrY,100|
|00002b70| 2c 67 61 64 68 69 2c 22 | 51 75 69 74 22 2c 20 20 |,gadhi,"|Quit", |
|00002b80| 23 50 4c 41 43 45 54 45 | 58 54 5f 49 4e 00 00 00 |#PLACETE|XT_IN...|
|00002b90| 00 77 69 6e 68 69 2e 77 | 3d 63 75 72 72 59 2b 67 |.winhi.w|=currY+g|
|00002ba0| 61 64 68 69 2b 73 70 61 | 63 65 2b 6f 66 66 79 2b |adhi+spa|ce+offy+|
|00002bb0| 34 00 00 3b 20 4f 4b 2c | 20 77 65 20 63 61 6e 20 |4..; OK,| we can |
|00002bc0| 6f 70 65 6e 20 74 68 65 | 20 77 69 6e 64 6f 77 20 |open the| window |
|00002bd0| 6e 6f 77 2e 2e 2e 00 00 | c5 01 20 30 2c 77 69 6e |now.....|.. 0,win|
|00002be0| 78 2c 6f 66 66 79 2b 73 | 70 61 63 65 2c 34 32 34 |x,offy+s|pace,424|
|00002bf0| 2c 77 69 6e 68 69 2c 24 | 31 30 30 30 7c 24 32 7c |,winhi,$|1000|$2||
|00002c00| 24 34 7c 24 38 2c 22 20 | 53 70 65 61 6b 20 74 6f |$4|$8," |Speak to|
|00002c10| 20 53 61 6d 70 6c 65 22 | 2c 31 2c 32 00 c5 38 00 | Sample"|,1,2..8.|
|00002c20| c6 8e 20 30 2c 30 00 00 | 6f 75 72 70 61 74 68 24 |.. 0,0..|ourpath$|
|00002c30| 3d 50 72 6f 67 73 44 69 | 72 7b 7d 00 00 3b 3d 3d |=ProgsDi|r{}..;==|
|00002c40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 20 4d 41 |========|===== MA|
|00002c50| 49 4e 20 4c 4f 4f 50 20 | 3d 3d 3d 3d 3d 3d 3d 3d |IN LOOP |========|
|00002c60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c70| 3d 3d 3d 3d 3d 3d 00 80 | bb 00 20 20 c6 12 20 30 |======..|.. .. 0|
|00002c80| 2c 23 5f 73 74 72 69 6e | 67 00 20 20 65 76 2e 6c |,#_strin|g. ev.l|
|00002c90| 20 3d 20 c5 02 00 20 20 | 80 0b 20 65 76 20 3d 20 | = ... |.. ev = |
|00002ca0| 23 49 44 43 4d 50 5f 47 | 41 44 47 45 54 55 50 20 |#IDCMP_G|ADGETUP |
|00002cb0| 80 42 20 c5 05 20 3d 20 | 30 00 20 20 20 20 80 0e |.B .. = |0. ..|
|00002cc0| 20 c5 04 00 20 20 20 20 | 20 20 3b 43 61 73 65 20 | ... | ;Case |
|00002cd0| 23 5f 73 74 72 69 6e 67 | 00 20 20 20 20 20 20 3b |#_string|. ;|
|00002ce0| 20 20 73 61 79 24 3d 47 | 54 47 65 74 53 74 72 7b | say$=G|TGetStr{|
|00002cf0| 30 2c 23 5f 73 74 72 69 | 6e 67 7d 00 20 20 20 20 |0,#_stri|ng}. |
|00002d00| 20 20 80 0f 20 23 5f 73 | 70 65 65 64 00 20 20 20 | .. #_s|peed. |
|00002d10| 20 20 20 20 20 73 70 65 | 65 64 3d c5 40 00 20 20 | spe|ed=.@. |
|00002d20| 20 20 20 20 80 0f 20 23 | 5f 66 72 65 71 00 20 20 | .. #|_freq. |
|00002d30| 20 20 20 20 20 20 66 72 | 71 3d c5 40 00 20 20 20 | fr|q=.@. |
|00002d40| 20 20 20 80 0f 20 23 5f | 72 65 63 6f 72 64 00 20 | .. #_|record. |
|00002d50| 20 20 20 20 20 20 20 80 | 06 20 74 6f 69 66 66 00 | .|. toiff.|
|00002d60| 20 20 20 20 20 20 80 0f | 20 23 5f 54 65 73 74 00 | ..| #_Test.|
|00002d70| 20 20 20 20 20 20 20 20 | 80 06 20 74 65 73 74 00 | |.. test.|
|00002d80| 20 20 20 20 20 20 80 0f | 20 23 5f 71 75 69 74 00 | ..| #_quit.|
|00002d90| 20 20 20 20 20 20 20 20 | 65 76 3d 24 32 30 30 20 | |ev=$200 |
|00002da0| 20 20 20 3b 75 73 65 20 | 74 68 65 20 22 63 6c 6f | ;use |the "clo|
|00002db0| 73 65 20 67 61 64 67 65 | 74 22 20 69 64 20 61 73 |se gadge|t" id as|
|00002dc0| 20 61 20 66 6c 61 67 20 | 2d 20 68 65 68 2c 20 68 | a flag |- heh, h|
|00002dd0| 65 68 20 20 3b 29 00 20 | 20 20 20 20 20 80 0f 20 |eh ;). | .. |
|00002de0| 23 5f 73 65 78 00 20 20 | 20 20 20 20 20 20 80 0b |#_sex. | ..|
|00002df0| 20 c5 40 3d 31 00 20 20 | 20 20 20 20 20 20 20 20 | .@=1. | |
|00002e00| 73 65 78 24 3d 22 2d 66 | 20 22 00 20 20 20 20 20 |sex$="-f| ". |
|00002e10| 20 20 20 80 22 00 20 20 | 20 20 20 20 20 20 20 20 | .". | |
|00002e20| 73 65 78 24 3d 22 2d 6d | 20 22 00 20 20 20 20 20 |sex$="-m| ". |
|00002e30| 20 20 20 80 c0 00 20 20 | 20 20 20 20 80 0f 20 23 | ... | .. #|
|00002e40| 5f 69 6e 74 6f 6e 65 00 | 20 20 20 20 20 20 20 20 |_intone.| |
|00002e50| 80 0b 20 c5 40 3d 31 00 | 20 20 20 20 20 20 20 20 |.. .@=1.| |
|00002e60| 20 20 69 6e 74 6f 6e 65 | 24 3d 22 2d 72 20 22 00 | intone|$="-r ".|
|00002e70| 20 20 20 20 20 20 20 20 | 80 22 00 20 20 20 20 20 | |.". |
|00002e80| 20 20 20 20 20 69 6e 74 | 6f 6e 65 24 3d 22 2d 6e | int|one$="-n|
|00002e90| 20 22 00 20 20 20 20 20 | 20 20 20 80 c0 00 20 20 | ". | ... |
|00002ea0| 20 20 20 20 80 0f 20 23 | 5f 73 61 76 66 6d 74 00 | .. #|_savfmt.|
|00002eb0| 20 20 20 20 20 20 20 20 | 73 61 76 66 6d 74 2e 6c | |savfmt.l|
|00002ec0| 3d c5 40 00 20 20 20 20 | 80 02 20 80 0e 00 20 20 |=.@. |.. ... |
|00002ed0| 80 c0 00 80 bc 20 65 76 | 3d 24 32 30 30 20 80 42 |..... ev|=$200 .B|
|00002ee0| 20 c5 05 3d 30 00 00 c6 | 9f 20 30 00 80 2b 20 c5 | ..=0...|. 0..+ .|
|00002ef0| 01 20 30 00 00 80 b4 00 | 80 02 20 80 b4 00 00 80 |. 0.....|.. .....|
|00002f00| 2b 20 c6 81 20 30 00 00 | 80 b5 00 00 80 02 00 00 |+ .. 0..|........|
|00002f10| 74 6f 69 66 66 00 20 20 | 80 06 20 6d 61 6b 65 43 |toiff. |.. makeC|
|00002f20| 6d 64 00 20 20 65 78 24 | 3d dc 86 28 33 34 29 2b |md. ex$|=..(34)+|
|00002f30| 6f 75 72 70 61 74 68 24 | 2b 22 53 61 79 32 52 61 |ourpath$|+"Say2Ra|
|00002f40| 77 22 2b dc 86 28 33 34 | 29 2b 22 20 22 2b 63 6d |w"+..(34|)+" "+cm|
|00002f50| 64 24 2b 73 61 79 24 00 | 20 20 fe 1f 20 65 78 24 |d$+say$.| .. ex$|
|00002f60| 2c 30 2c 30 00 20 20 80 | 06 20 63 6f 6e 76 65 72 |,0,0. .|. conver|
|00002f70| 74 00 80 07 00 00 74 65 | 73 74 00 20 20 80 06 20 |t.....te|st. .. |
|00002f80| 6d 61 6b 65 43 6d 64 00 | 20 20 65 78 24 3d 22 53 |makeCmd.| ex$="S|
|00002f90| 59 53 3a 55 74 69 6c 69 | 74 69 65 73 2f 53 61 79 |YS:Utili|ties/Say|
|00002fa0| 20 22 2b 63 6d 64 24 2b | 73 61 79 24 00 20 20 fe | "+cmd$+|say$. .|
|00002fb0| 1f 20 65 78 24 2c 30 2c | 30 00 80 07 00 00 6d 61 |. ex$,0,|0.....ma|
|00002fc0| 6b 65 43 6d 64 00 20 20 | 73 61 79 24 3d 47 54 47 |keCmd. |say$=GTG|
|00002fd0| 65 74 53 74 72 7b 30 2c | 23 5f 73 74 72 69 6e 67 |etStr{0,|#_string|
|00002fe0| 7d 00 20 20 80 0b 20 73 | 61 79 24 3d 22 22 20 80 |}. .. s|ay$="" .|
|00002ff0| 21 20 73 61 79 24 3d 64 | 65 66 24 00 20 20 63 6d |! say$=d|ef$. cm|
|00003000| 64 24 3d 73 65 78 24 2b | 69 6e 74 6f 6e 65 24 2b |d$=sex$+|intone$+|
|00003010| 22 2d 73 22 2b dd 83 28 | 73 70 65 65 64 29 2b 22 |"-s"+..(|speed)+"|
|00003020| 20 2d 70 22 2b dd 83 28 | 66 72 71 29 2b 22 20 22 | -p"+..(|frq)+" "|
|00003030| 00 80 07 00 00 63 6f 6e | 76 65 72 74 00 00 80 0b |.....con|vert....|
|00003040| 20 49 73 54 68 65 72 65 | 7b 22 52 41 4d 3a 73 61 | IsThere|{"RAM:sa|
|00003050| 79 2e 72 61 77 22 7d 20 | 20 20 20 20 20 20 20 20 |y.raw"} | |
|00003060| 20 20 3b 6d 61 6b 65 20 | 73 75 72 65 20 74 68 65 | ;make |sure the|
|00003070| 20 53 61 79 32 52 61 77 | 20 6f 75 74 70 75 74 20 | Say2Raw| output |
|00003080| 66 69 6c 65 20 65 78 69 | 73 74 73 00 20 20 2a 6d |file exi|sts. *m|
|00003090| 65 6d 3d fe 97 28 31 30 | 30 30 30 30 2c 23 4d 45 |em=..(10|0000,#ME|
|000030a0| 4d 46 5f 41 4e 59 29 20 | 20 3b 74 68 65 20 53 61 |MF_ANY) | ;the Sa|
|000030b0| 79 2e 72 61 77 20 66 69 | 6c 65 20 69 73 20 61 6c |y.raw fi|le is al|
|000030c0| 77 61 79 73 20 31 30 30 | 6b 00 20 20 80 0b 20 2a |ways 100|k. .. *|
|000030d0| 6d 65 6d 00 20 20 20 20 | 80 0b 20 be 01 28 30 2c |mem. |.. ..(0,|
|000030e0| 22 52 41 4d 3a 73 61 79 | 2e 72 61 77 22 29 20 20 |"RAM:say|.raw") |
|000030f0| 20 20 3b 6e 6f 77 20 6c | 6f 61 64 20 69 74 20 69 | ;now l|oad it i|
|00003100| 6e 74 6f 20 6f 75 72 20 | 6d 65 6d 6f 72 79 20 62 |nto our |memory b|
|00003110| 6c 6f 63 6b 00 20 20 20 | 20 20 20 be 08 20 30 00 |lock. | .. 0.|
|00003120| 20 20 20 20 20 20 be 14 | 20 30 2c 2a 6d 65 6d 2c | ..| 0,*mem,|
|00003130| 31 30 30 30 30 30 00 20 | 20 20 20 20 20 be 02 20 |100000. | .. |
|00003140| 30 00 20 20 20 20 20 20 | d2 0a 00 00 20 20 20 20 |0. |.... |
|00003150| 20 20 72 65 61 6c 6c 65 | 6e 2e 6c 3d 2a 6d 65 6d | realle|n.l=*mem|
|00003160| 2b 39 39 39 39 39 20 20 | 20 20 20 20 20 20 20 20 |+99999 | |
|00003170| 3b 74 72 69 6d 20 74 68 | 65 20 65 78 63 65 73 73 |;trim th|e excess|
|00003180| 20 73 70 61 63 65 20 66 | 72 6f 6d 20 74 68 65 20 | space f|rom the |
|00003190| 65 6e 64 00 20 20 20 20 | 20 20 80 bb 00 20 20 20 |end. | ... |
|000031a0| 20 20 20 20 20 63 68 65 | 63 6b 2e 62 3d da 02 2e | che|ck.b=...|
|000031b0| 62 28 72 65 61 6c 6c 65 | 6e 29 00 20 20 20 20 20 |b(realle|n). |
|000031c0| 20 20 20 80 0b 20 63 68 | 65 63 6b 00 20 20 20 20 | .. ch|eck. |
|000031d0| 20 20 20 20 20 20 72 65 | 61 6c 6c 65 6e 3d 72 65 | re|allen=re|
|000031e0| 61 6c 6c 65 6e 20 2b 31 | 20 2d 2a 6d 65 6d 00 20 |allen +1| -*mem. |
|000031f0| 20 20 20 20 20 20 20 80 | 22 00 20 20 20 20 20 20 | .|". |
|00003200| 20 20 20 20 72 65 61 6c | 6c 65 6e 2d 31 00 20 20 | real|len-1. |
|00003210| 20 20 20 20 20 20 80 c0 | 00 20 20 20 20 20 20 80 | ..|. .|
|00003220| bc 20 63 68 65 63 6b 3c | 3e 30 00 00 20 20 20 20 |. check<|>0.. |
|00003230| 20 20 2a 73 74 61 72 74 | 61 74 3d 2a 6d 65 6d 20 | *start|at=*mem |
|00003240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003250| 3b 6e 6f 77 20 74 72 69 | 6d 20 74 68 65 20 65 78 |;now tri|m the ex|
|00003260| 63 65 73 73 20 61 74 20 | 74 68 65 20 73 74 61 72 |cess at |the star|
|00003270| 74 00 20 20 20 20 20 20 | 80 bb 00 20 20 20 20 20 |t. |... |
|00003280| 20 20 20 63 68 65 63 6b | 3d da 02 2e 62 28 2a 73 | check|=...b(*s|
|00003290| 74 61 72 74 61 74 29 00 | 20 20 20 20 20 20 20 20 |tartat).| |
|000032a0| 80 0b 20 63 68 65 63 6b | 00 20 20 20 20 20 20 20 |.. check|. |
|000032b0| 20 20 20 2a 73 74 61 72 | 74 61 74 2d 32 00 20 20 | *star|tat-2. |
|000032c0| 20 20 20 20 20 20 80 22 | 00 20 20 20 20 20 20 20 | ."|. |
|000032d0| 20 20 20 2a 73 74 61 72 | 74 61 74 2b 31 00 20 20 | *star|tat+1. |
|000032e0| 20 20 20 20 20 20 80 c0 | 00 20 20 20 20 20 20 80 | ..|. .|
|000032f0| bc 20 63 68 65 63 6b 00 | 20 20 20 20 20 20 72 65 |. check.| re|
|00003300| 61 6c 6c 65 6e 20 2d 28 | 2a 73 74 61 72 74 61 74 |allen -(|*startat|
|00003310| 2d 2a 6d 65 6d 29 00 00 | 20 20 20 20 20 20 80 2b |-*mem)..| .+|
|00003320| 20 ba 04 20 30 00 20 20 | 20 20 20 20 ba 08 20 30 | .. 0. | .. 0|
|00003330| 2c 72 65 61 6c 6c 65 6e | 2c 31 36 30 20 20 20 20 |,reallen|,160 |
|00003340| 20 20 20 20 3b 69 6e 69 | 74 69 61 6c 20 73 6f 75 | ;ini|tial sou|
|00003350| 6e 64 20 6f 62 6a 65 63 | 74 20 23 30 00 20 20 20 |nd objec|t #0. |
|00003360| 20 20 20 2a 73 6e 64 64 | 61 74 61 3d da 02 2e 6c | *sndd|ata=...l|
|00003370| 28 80 b8 20 ba 04 28 30 | 29 29 20 3b 61 6e 64 20 |(.. ..(0|)) ;and |
|00003380| 63 6f 70 79 20 69 6e 20 | 74 68 65 20 73 6f 75 6e |copy in |the soun|
|00003390| 64 20 64 61 74 61 00 00 | 20 20 20 20 20 20 6f 6b |d data..| ok|
|000033a0| 3d fe db 28 2a 73 74 61 | 72 74 61 74 2c 2a 73 6e |=..(*sta|rtat,*sn|
|000033b0| 64 64 61 74 61 2c 72 65 | 61 6c 6c 65 6e 29 00 00 |ddata,re|allen)..|
|000033c0| 20 20 20 20 20 20 3b 57 | 65 20 68 61 76 65 20 61 | ;W|e have a|
|000033d0| 20 73 74 61 6e 64 61 72 | 64 20 73 6f 75 6e 64 20 | standar|d sound |
|000033e0| 2d 20 6e 6f 77 20 73 61 | 76 65 20 69 74 20 74 6f |- now sa|ve it to|
|000033f0| 20 64 69 73 6b 2e 2e 2e | 00 00 20 20 20 20 20 20 | disk...|.. |
|00003400| 64 65 66 66 69 6c 65 24 | 3d 22 53 70 65 65 63 68 |deffile$|="Speech|
|00003410| 22 2b dd 83 28 73 61 76 | 65 64 29 2b 73 61 76 66 |"+..(sav|ed)+savf|
|00003420| 6d 74 24 28 73 61 76 66 | 6d 74 29 00 20 20 20 20 |mt$(savf|mt). |
|00003430| 20 20 73 66 69 6c 65 24 | 3d 64 65 66 66 69 6c 65 | sfile$|=deffile|
|00003440| 24 00 20 20 20 20 20 20 | 74 69 74 6c 24 3d 22 53 |$. |titl$="S|
|00003450| 61 76 65 20 22 2b 73 61 | 76 66 6d 74 24 28 73 61 |ave "+sa|vfmt$(sa|
|00003460| 76 66 6d 74 29 2b 22 20 | 73 61 6d 70 6c 65 20 61 |vfmt)+" |sample a|
|00003470| 73 3a 22 00 20 20 20 20 | 20 20 73 61 76 65 24 3d |s:". | save$=|
|00003480| 41 53 4c 46 69 6c 65 52 | 65 71 75 65 73 74 7b 74 |ASLFileR|equest{t|
|00003490| 69 74 6c 24 2c 70 61 74 | 68 24 2c 73 66 69 6c 65 |itl$,pat|h$,sfile|
|000034a0| 24 2c 22 53 61 76 65 22 | 7d 00 20 20 20 20 20 20 |$,"Save"|}. |
|000034b0| 80 0b 20 73 61 76 65 24 | 3c 3e 22 22 00 20 20 20 |.. save$|<>"". |
|000034c0| 20 20 20 20 20 80 0e 20 | 73 61 76 66 6d 74 00 20 | .. |savfmt. |
|000034d0| 20 20 20 20 20 20 20 20 | 20 80 0f 20 30 00 20 20 | | .. 0. |
|000034e0| 20 20 20 20 20 20 20 20 | 20 20 73 75 63 63 65 73 | | succes|
|000034f0| 73 2e 62 3d 53 61 76 65 | 53 61 6d 70 6c 65 7b 30 |s.b=Save|Sample{0|
|00003500| 2c 73 61 76 65 24 7d 00 | 20 20 20 20 20 20 20 20 |,save$}.| |
|00003510| 20 20 80 0f 20 31 00 20 | 20 20 20 20 20 20 20 20 | .. 1. | |
|00003520| 20 20 20 73 75 63 63 65 | 73 73 2e 62 3d 53 61 76 | succe|ss.b=Sav|
|00003530| 65 57 61 76 65 7b 30 2c | 73 61 76 65 24 7d 00 20 |eWave{0,|save$}. |
|00003540| 20 20 20 20 20 20 20 80 | 02 20 80 0e 00 20 20 20 | .|. ... |
|00003550| 20 20 20 20 20 80 0e 20 | 73 75 63 63 65 73 73 00 | .. |success.|
|00003560| 20 20 20 20 20 20 20 20 | 20 20 80 0f 20 2d 31 00 | | .. -1.|
|00003570| 20 20 20 20 20 20 20 20 | 20 20 20 20 72 71 24 3d | | rq$=|
|00003580| 20 73 66 69 6c 65 24 2b | 22 7c 77 61 73 20 73 75 | sfile$+|"|was su|
|00003590| 63 63 65 73 73 66 75 6c | 6c 79 20 73 61 76 65 64 |ccessful|ly saved|
|000035a0| 20 69 6e 7c 22 2b 70 61 | 74 68 24 00 20 20 20 20 | in|"+pa|th$. |
|000035b0| 20 20 20 20 20 20 20 20 | 80 0b 20 73 66 69 6c 65 | |.. sfile|
|000035c0| 24 3d 64 65 66 66 69 6c | 65 24 20 80 21 20 73 61 |$=deffil|e$ .! sa|
|000035d0| 76 65 64 2b 31 00 20 20 | 20 20 20 20 20 20 20 20 |ved+1. | |
|000035e0| 80 0f 20 30 00 20 20 20 | 20 20 20 20 20 20 20 20 |.. 0. | |
|000035f0| 20 72 71 24 3d 20 22 53 | 61 6d 70 6c 65 20 65 72 | rq$= "S|ample er|
|00003600| 72 6f 72 21 22 00 20 20 | 20 20 20 20 20 20 20 20 |ror!". | |
|00003610| 80 0f 20 31 00 20 20 20 | 20 20 20 20 20 20 20 20 |.. 1. | |
|00003620| 20 72 71 24 3d 20 22 44 | 69 73 6b 20 65 72 72 6f | rq$= "D|isk erro|
|00003630| 72 7c 73 61 6d 70 6c 65 | 20 6e 6f 74 20 73 61 76 |r|sample| not sav|
|00003640| 65 64 22 00 20 20 20 20 | 20 20 20 20 80 02 20 80 |ed". | .. .|
|00003650| 0e 00 20 20 20 20 20 20 | 80 22 00 20 20 20 20 20 |.. |.". |
|00003660| 20 20 20 72 71 24 3d 22 | 53 61 76 65 20 63 61 6e | rq$="|Save can|
|00003670| 63 65 6c 6c 65 64 22 00 | 20 20 20 20 20 20 80 c0 |celled".| ..|
|00003680| 00 20 20 20 20 80 22 00 | 20 20 20 20 20 20 72 71 |. .".| rq|
|00003690| 24 3d 22 63 6f 75 6c 64 | 6e 27 74 20 6c 6f 61 64 |$="could|n't load|
|000036a0| 20 66 69 6c 65 22 00 20 | 20 20 20 80 c0 00 20 20 | file". | ... |
|000036b0| 20 20 61 6e 73 77 65 72 | 2e 62 3d 52 54 72 65 71 | answer|.b=RTreq|
|000036c0| 7b 72 71 24 7d 00 20 20 | 20 20 72 65 73 75 6c 74 |{rq$}. | result|
|000036d0| 2e 62 3d fe 99 20 28 2a | 6d 65 6d 2c 31 30 30 30 |.b=.. (*|mem,1000|
|000036e0| 30 30 29 20 20 3b 64 6f | 6e 27 74 20 66 6f 72 67 |00) ;do|n't forg|
|000036f0| 65 74 20 74 6f 20 66 72 | 65 65 20 74 68 65 20 6d |et to fr|ee the m|
|00003700| 65 6d 6f 72 79 21 00 20 | 20 20 20 80 0b 20 72 65 |emory!. | .. re|
|00003710| 73 75 6c 74 3d 30 00 20 | 20 20 20 20 20 61 6e 73 |sult=0. | ans|
|00003720| 77 65 72 3d 52 54 72 65 | 71 7b 22 45 52 52 4f 52 |wer=RTre|q{"ERROR|
|00003730| 3a 7c 63 61 6e 27 74 20 | 66 72 65 65 20 6d 65 6d |:|can't |free mem|
|00003740| 6f 72 79 21 22 7d 00 20 | 20 20 20 80 c0 00 20 20 |ory!"}. | ... |
|00003750| 80 22 00 20 20 20 20 61 | 6e 73 77 65 72 3d 52 54 |.". a|nswer=RT|
|00003760| 72 65 71 7b 22 63 6f 75 | 6c 64 6e 27 74 20 61 6c |req{"cou|ldn't al|
|00003770| 6c 6f 63 61 74 65 20 6d | 65 6d 6f 72 79 22 7d 00 |locate m|emory"}.|
|00003780| 20 20 80 c0 00 20 20 fe | 08 28 22 52 41 4d 3a 73 | ... .|.("RAM:s|
|00003790| 61 79 2e 72 61 77 22 29 | 00 80 22 00 20 20 61 6e |ay.raw")|..". an|
|000037a0| 73 77 65 72 3d 52 54 72 | 65 71 7b 22 53 61 79 32 |swer=RTr|eq{"Say2|
|000037b0| 52 61 77 20 63 6f 6d 6d | 61 6e 64 20 66 61 69 6c |Raw comm|and fail|
|000037c0| 65 64 21 22 7d 00 80 c0 | 00 00 80 07 00 00 |ed!"}...|...... |
+--------+-------------------------+-------------------------+--------+--------+